1.查询
select * from 表名;
示例: select * from student where id=1 -- 查询id=1学生的所有信息
2.添加
insert into 表名 values(添加的数据,对应表中的列);
insert into 表名(列1,列2,列3...) values(列1对应的值,列1对应的值,列1对应的值...)
3.更新
update 表名 set 更新的数据 where 条件;
示例:
update clazz set teacher_name = '王鹏飞' where id = 2
--将所有同学的年龄+1
update student set age = age+1
4.删除
delete from 表名 where 条件; 删除表中的内容
truncate table 表名 删除表
5.函数
1). sum函数:用于计算数值型的列的总和,值为Null的将被忽略
语法:select sum(列名) from 表名 [where 条件表达式]
示例: select sum(score) as Java成绩总和 from stu_marks where subject='Java' --查询java成绩的总和
2). avg:用于计算数值型的列的总和,值为Null的将被忽略
select sum(列名) from 表名 [where 条件表达式]
示例: select avg(score) as Java平均成绩 from stu_marks where subject='Java' --查询java成绩的平均值
3). max:用于计算数值型的列里面最大的值,值为Null的将被忽略
select sum(列名) from 表名 [where 条件表达式]
示例: select max(score) as Java最高成绩 from stu_marks where subject='Java' --查询java的最高成绩
4). min:用于计算数值型的列里面最大的值,值为Null的将被忽略
select min(列名) from 表名 [where 条件表达式]
示例: select min(score) as Java最低成绩 from stu_marks where subject='Java' --查询java的最低成绩
5). count:用于统计查询的列一共有几行数据
select min(列名) from 表名 [where 条件表达式]
示例: select count(*) as Java考试学生数 from stu_marks where subject='Java' --查询参加java考试的学生数
6). 查询结果分组,将指定列的值相同的行进行分组:group by 列名,指定的列必须出现在查询列或者聚合函数中
示例: select subject as 科目,avg(score) as 人数 from stu_marks group by subject --分别统计每个科目的平均分
6. 给表添加约束(简便方法是在创建表的时候就写上约束)
添加主键约束:alter table 表名 add constraint PK_列名 primary key(列名)
添加唯一约束:alter table 表名 add constraint UQ_列名 unique(列名)
添加外键约束:alter table 表名 add constraint FK_列名 foreign key(列名) references 外部表(外部表对应的列)
添加检查约束:alter table 表名 add constraint CK_列名 check(检查条件)
添加默认值约束: alter table 表名 add constraint DF_列名 default(默认值)
7. where筛选条件
判断值相等: 列名=值 ,比如:where age=2
判断值不相等: 列名<>值,比如: where age<>2
判断值在某个区间内: between x and y ,比如判断年龄在18到50岁: where age between 18 and 50
判断值在某个已知值的范围内: in ,比如判断id在1,3,5内 : where id in(1,3,5)
判断值是空值:where teacher_name is null --查询教师名字是空的那些数据
判断同时满足多个条件:where id in (1,3,5) AND sex = '女' --判断性别为女,同时id在1,3,5范围内的数据
判断满足多个条件其中任意一个:where id in (1,3,5) AND sex = '女' -- 判断性别为女,或者id在1,3,5范围内的数据
8. 模糊匹配:like 或 not like
%: 匹配0个或任意个字符,比如:'李%',匹配'李'开头的字符串
_: 匹配任意一个字符,比如:'李_',匹配'李'开头的字符串,并且后面只跟一个字符
[]: 匹配方括号里面其中任意一个字符,比如:'李[四五六]',匹配李四或者李五或者李六
[^]:匹配任意一个字符,除了方括号里的字符:'李[^四五六]',匹配李八或者李九,但是不匹配李四或者李五或者李六
9. 查询结果排序: order by 列名 升序或者降序
比如:select * from student order by class_id asc,name desc --查询所有学生信息,返回的结果按class_id升序,name降序排列