crowprince 2016-09-28 09:54:59 3985次浏览 1条评论 1 0 0

一直都想总结一下mysql,终于有一个时间可以与大家分享一下了。
由于图片好像上传不了,所以详情请看我的博客:http://blog.csdn.net/lx_96/article/details/52672389
一、mysql 的连接
1.mysql在DOS命令下的启动于停止

\>net start mysql

此时按enter键启动mysql

\>net stop mysql

按enter键即可停止mysql服务

2.连接与断开mysql服务器

进入DOS窗口,在命令提示符下输入:

\> mysql -uroot -hlocalhost -p password

root表示mysql用户名 localhost表示mysql服务器所在地址 password表示用户名密码
演示如下:

进入mysql命令,可以通过quit后exit命令退出mysql

二、mysql的数据类型

具体有哪些数据类型就不一一列举了,我们看看在选择数据类型时我们应该遵循的原则吧
1.从速度方面考虑,要选择固定的列,可以使用char类型。
2.要节省空间,使用动态的列,可以使用varchar类型。
3.要将列中的内容限制在一种选择,可以使用enum类型。
4.允许在一列中有多于一个的条目,可以使用set类型。
5.如果要搜索的内容不区分大小写,可以使用test类型。
6.如果要搜索的内容区分大小写,可以使用blob类型。

日期类型:
date 日期,格式为YYYY-MM-DD
time 时间,格式为HH:MM:SS
datetime 日期和时间
timestamp 时间标签
year 年份可以指定两位数字和4位数字的格式

三、运算符

1.算数运算符

+,-,*,/,%,DIV,MOD

2.比较运算符

=,>,<>=,<=,!=或<>,Is null,between and,in,

like 用来匹配字符串。表达式如下:x like s1
匹配成功返回1,失败返回0.

regexp 同样用于匹配字符串,但其使用的是正则表达式的匹配。例如:
x regexp '匹配表达式' 满足结果返回1,否则返回0

3.逻辑运算符

&&,AND,||,!,XOR(相同为0,不同为1)

4.位运算符

&,|,~,^,<<,>>

四、创建||删除||修改数据库或表的操作

1.查看数据库:show databases; 删除数据库:drop db_name;
2.查看表:show tables; 删除表:drop table_name;
3.创建数据表的列属性的排序:

col_name type [NULL | NOT null] [DEFAULT_VALUE] [AUTO_INCREMENT] [PRIMARY KEY]
[reference_difinition](为字段添加注释)

以上语句中括号内是可选内容

4.查看表结构:

show [full] colunms from table_name from db_name或
show [full] colunms from db_name.talble_name;或
DESCRIBE table_name;

5.修改表结构:

Alter [IGNORE] table table_name alter_statement[,alter_statement]...
alter_statement 结构入下:(假定我是用的是users表)
add username char(10) not null                 --增加表字段
modify username varchar(40)                    --修改表字段

6.重命名表:

rename table table_name to table_name2;

五、语句操作:
1.插入记录

insert into table_name(字段1,字段2,字段3...)values('...','...','...'...);

2.查询

select selection_list                           --要查询的内容,选择那些列
from table_name                              --指定数据表
where primary_constraint                --查询时需要满足的条件,行必须满足条件
group by grouping_columns            --如何对结果进行分组
order by sorting_cloumns                --如何对结果进行排序
having secondary_constraint            --查询时满足的第二个条件
limit count;                                        --限定输出的查询结果

3.goup by
通过group by 字句可以将结果划分到不同的组,实现对记录的分组查询,查询的列必须包含在分组的列中
,目的是使查询到的数据没有矛盾。在于avg和sum函数一起使用的时候才会发挥其最大的作用

4.distinct
使用distinct关键字,可以去除结果中的重复行

select distinct username from users.

5.order by
使用order by 可以对查询的结果进行排序升序(asc)和降序(desc).
例:

select * from users order by id desc;

6,like
like是比较常用的比较运算符,用于实现模糊查询
例:

select * from users where username like ('_li%');

7.concat
使用concat函数可以联合多个字段,构成一个总的字符串
例:

select id,concat(username,":",introduce) from users;

8.limit
limit 限制查询结果的记录条数,控制它的输出行数
例:select * from users order by id limit 3; -- 显示三条数据,按顺序
又如: select * from users order by id limit 2,3; -- 重第二条开始显示三条数据

9.使用函数或者表达式

AVG,COUNT,MIN,MAX,STD,STDTEV,SUM

六、表的链接查询
1.内连接查询
内连接最常见的例子是相等连接。
2.外连接查询
与内连接不同,外连接是指使用outer Join 关键字将两个表连接起来。外联结生成的结果集不仅包含符合连接条件的行数据,而且包括左表,右表和两边连接(全外连接)表中的所有数据
外联结分为左外连接(left join),右外连接(right join),全外连接
例如:

select * from users left join users2;

七、带any 或 all关键字的子查询

<any()      -- 小于最大值
>any()      -- 大于最小值
<all()         -- 小于最小值
>all()          -- 大于最大值

其他的类似

八、合并查询
合并查询使用UNION或UNION ALL关键字。UNION关键字是将所有的查询结果合并到一起,让后去除相同的记录;而UNION ALL 关键字只是简单的将结果合并到一起。
例如:

select id from users 
union
select id from users2;

下期还有跟多关于mysql的,敬请期待

您需要登录后才可以评论。登录 | 立即注册