首先sql语句分类:
1.DDL(数据定义语言):定义和管理对象
create drop alter
2.DML(数据操作语言):用于操作数据库对象中所包含的数据
insert delete update
3.DQL(数据查询语言):用于查询数据库
select
4.DCL(数据控制语言):用来管理数据库的语言,包括管理权限及数据更改
GRANT COMMIT ROLLBACK
关于数据库的语法:
1.创建数据库:create database 数据库名称;
2.查询数据库:show database;
3.使用数据库:use 数据库名称;
4.查看数据库中创建的所有数据表: show tables;
5.删除数据库:drop database 数据库名称;
关于表的创建,查看,删除以及修改:
1.创建一张表: create table 表名(
字段名 数据类型 约束条件
)
例如:create table student(
sid int primary key,
snane varchar(10)
)
2.查看表: desc 表名;
或 show ctreate table 表名;
3.删除表:drop table 表名;
4.修改表(有六个小点)
a.修改某个表中某个列的某个数据类型
alter table 表名 modify 字段名 新的列类型
b.增加表字段
alter table 表名 add 新的字段名 新的字段类型
c.删除表字段
alter table 表名 drop 字段 字段名;
d.字段改名
alter table 表名 change 字段名 新的字段名 字段类型
e.修改字段顺序
alter table 表名 add 新的字段名 新的字段类型 after 字段名
f.更改表名
alter table 表名 新的表名
表中的语法:
1.新增
insert into 表名(字段名) values();
例如: insert into student(sid,sname,ssex)values(1,"张三","男");
2.修改
update 表名 set field1=value1,field2=value2,field3=value3 where 字段名=value;
例如:update student set sname="李斯",ssex="女" where sid=1;
3.删除
delete from 表名 where 字段名=value;
例如:delete from student where sid=1;
4.查询
全部查询:select * from 表名
查询不重复:select distinct field from 表名;
排序查询:select * from 表名 order by field ;(升序field后面加asc,降序为desc)
聚合:
统计总数:select count(sid) from 表名;
统计表中最大,最小,数据总和:select sum(field) ,max(field),min(field) from 表名;
内连接:仅选出两张表中互相匹配的记录
select field1,field2 from 表1,表2 where 表1.field=表2.field; (查询出两个表中有 field1 和 field2 )
左连接:以左表为主,右表为辅
select * from 表1 left join 表2 on 表1.sid=表2.sid;
右连接:以右表为主,左表为辅
select field1,field2 from 表1 right join 表2 on 表1.field=表2 field;
子查询: select from 表1 where field = ( select field from 表1);
union查询两个集合并集:
1.数据类型不同可以进行合并
2.两个集合的列数要一致
3.表头是第一个集合信息(字段起别名)
4.去重