简单的mysql 语句
sql 语句分类 :
DDL[Data Definition Lang]:数据定义语言 , 主要包括 create drop alter。。。
DML[Data Manipulation Language]:数据操纵语言 ,主要包括 insert delete update 和select 。。。
DCL[Data Contro Language]:数据控制语句 , 主要包括 grant revoke。。。
DDL: create database __; 创建数据库。
show databases; 显示出已经拥有数据库。
use __; 使用数据库。
show tables; 显示对应数据库中的表。
drop database __; 删除对应的数据库。
create table __ (__ __,__ __,__ __) ; 创建表。
constraint __ foreign key __ references __ ; 创建表外键。
desc __; 显示表信息。
show create table __ \G; 显示更加详细的创建表的语句。 以及更加详细的信息。
drop table __; 删除表。
alter table __ modify __ __; 修改表对应属性的对应的属性“类型”。
alter table __ add colum __ __ ; 在表的后边加上一列属性。
alter table __ drop colum __ ; 删除对应的列。
alter table __ change __ __ __ ; 改变对应属性的“名字”和属性“类型”。
#注:在change 和add 或modify 语句中后面都可添加 after 或 first,来修饰修改后字段的位置。
例 alter table __ change __ __ __ first / after__; 就会便成第一行,或者在某行之后。
alter table __ rename __ ; 更改表的名字。
DML:
insert into __ (__,__,__) values (__,__,__) ; 向对应表对应列中插入对应的数据。
/ insert into __ values (__,__,__) ; 插入默认所有列中所有数据。
/ insert into __(__,__,__) values (__,__,__) , (__,__,__) , (__,__,__) ;插入对应表中对应列多组数据。
update __ set __=__ where __=__ ; 更新对应表中对应某行的信息。
delete from __ where __=__ ; 删除对应行的信息。
select __,__ from __ where __=__ ; 查询对应表中对应数据的信息。
不重复:select distinct __ from __ ; 从对应表中查询出不重复的字段。
#默认是Asc升序排列,Desc是降序排列。
select * from __ order by __ ,__ desc/asc; 排序先根据第一个条件进行排序,相同字段根据第二个 排序。
#limit经常和 order by 搭配使用
sum(),count(),max(),min()from __ where __=__group by__ with rolluphaving
#having 是对聚合()后的结果进行条件的过滤。where是聚合前就进行过滤。
表连接:内连接:select ename,deptname from emp,dept where emp.deptno=dept.deptno ;
左外连接:select ename,deptname from emp left join dept on emp.deptno=dept.deptno ;
右外连接:select ename,deptname from dept rigth join emp on emp.deptno=dept.deptno ;
# _左表_+left / right join+_右表_+ on+_条件_ ;
子查询:select * from __ where __ in (select __ form __) ;
#注:Mysql 4.1以前的版本不支持子查询,只有表连接。表连接在很多情况下用于优化子查询。
记录联合:select * from __ union all / union select *from __ ; union all用来连接所有数据,union连接去重 后的数据
DCL :
grant 和 revoke 的使用。
帮助的使用:
利用“? contents”来显示可供查询的分类。利用问号进行查询帮助文档。
也可利用来查询语法例如 “? show” 来查看show后面能显示什么。
数据类型: int 的默认长度是int(11) ; auto_increment :起始值是1 ; decimal默认值是decimal(10,0) ;
date datetime time timestamp(范围小) 的区别。
char 和 verchar 的区别 :char是固定长度 ,varchar是变长。char删除后边的空格。verchar不删除空 格。
enum 和 set 的区别:emnu 只能单个添加,不存在利用第一个值添加,set可多个添加,不允许添加重复 的值。超出范围不允许添加进来。
数值函数:rount(x,y)和 truncate(x,y)区别:rount是4舍5如保留y位小数。而truncate是截断不进行4舍5入。
inet_aton(ip)和inet_ntoa(num) 第一个是负责将ip转化成数字 第二个是将数字转化成ip。