一直都想总结一下mysql,终于有一个时间可以与大家分享一下了。


一、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的操作界面 mysql 基本操作_group by





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





mysql的操作界面 mysql 基本操作_mysql的操作界面_02




二、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



mysql的操作界面 mysql 基本操作_group by_03






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函数一起使用的时候才会发挥其最大的作用





mysql的操作界面 mysql 基本操作_mysql的操作界面_04



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()          -- 大于最大值


例:



mysql的操作界面 mysql 基本操作_mysql的操作界面_05





其他的类似



八、合并查询


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


例如:select id from users 


            union


        select id from users2;



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