1. 创建数据库的命令:
创建数据库:
create database 数据库名
切换数据库:
· use 数据库名;
创建表:
create table 表名(
· 字段名 数据类型 约束,
字段名 数据类型 约束,
);
数据类型: varchar char int decimal小数 date datetime 等。。。。
约束:
主键约束(primary key)
外键约束(foreign key)
唯一约束(unique)
非空约束not null
默认约束default
默认约束default
2.DML操作:
1.insert
insert into 表名(列名,列名...) values(值,值...)
2.delete
delete from 表名 where 条件;
3.update
update 表名 set 列名=列值,..... where 条件
4. select
select *|指定列名 from 表名 where 条件 //全表查询
select * from 表名 group by 分组的列 having 分组后的条件 //全表查询后分组
select * from 表名 order by 列名,.... [desc,asc] //全表查询后排序
select distinct * from 表名 limit start,size; ----start=====(page-1)*size; //分页
5.运算符
关系运算符 > , >= , < , <= , = , !=
逻辑运算符 and or not
其他: (between 值1 and 值2) in exist like[通配符_统配一个字符, %统配n个字符]
6.聚合函数
sum (a列名+b列名) //返回指定数据的和,只能用于数字列,空值被忽略。
avg (列名1) //返回指定组中的平均值,空值被忽略。
count(*) //返回指定组中项目的数量。
max( ) //返回指定数据的最大值。
min ( ) //返回指定数据的最小值。
7.多表联查
1. 内连接 inner join
select * from A inner join B on 条件 (inner可以省略) 显示连接使用别名
2. 左连接 left join
select * from student left join score on student.Num=score.Stu_id;
3. 右连接 right join
select * from student right join score on student.Num=score.Stu_id;
4. 自连接
自己连接自己
5.嵌套查询
子查询,就是在一个查询中嵌套了其他若干查询
//查询与钟文辉同学在同一个系的同学
//第一步先查询钟文辉同学所在的系
//然后把系作为已知条件查找同学信息
SELECT * FROM Student
WHERE Sdept IN(
SELECT Sdept FROM Student Where Sname ='钟文辉') ;