域完整性:主键primary key;外键foreign key;
建立一个数据库:create database 库名;
创建表及列名:create table表名(
列名1 数据类型 约束,
列名2 数据类型 约束,
列名3 数据类型 约束);
例:
->id int(10) not null primary key,
->name varchar(20) not null);
在已创建的表中添加列:alter table表名 add列名属性;
在已创建的表中修改列的属性:alter table表名 change (原)列名
(改后)列名 (改后)属性;
主键及自增:id int(10) not null primary keyauto_increment
删除表:drop table表名;
删除数据库:drop database库名;
向表中添加一条记录:insert into表名(列名1,列名2)values(**,**);
向表中添加多条记录:insert into表名(列名1,列名2)
values(**,**),
(**,**),
(**,**),
(**,**);
更改记录操作:update表名 set列名=更新值 where更新条件;
例如:update student set sname="Tom" where sname="Alex";
删除记录操作:delete from表名 where删除条件
例如:delete from student where sage<18;
查询记录操作:select列名 from表名 where查询条件 order by列名 asc/desc;
例如:select * from student;
使用集函数:count(列名)计算元素的个数
sun(列名)对某一列值求和,但必须是整数
avg(列名)对某一列的值计算平均值
max(列名)找出某一列的最大值
min(列名)找出某一列的最小值
例如:1.查询学生总数
select count(*) from student;
2.查询选修课程的学生人数
select count(distinct studentid) from sc;
3.查询1号课程的学生平均成绩
select avg(grade) from sc where courseid=1;
4.查询1号课程的学生最高分和最低分
select max(grade) as '最高分',min(grade) as '最低分
from sc where courseid=1;
5.查询每个学生的平均成绩
select studentid,avg(grade) as '平均成绩' from sc
group by studentid ;
6.查询学生的平均成绩在70分以上的
select studentid,avg(grade) as '平均成绩' from sc
group by studentid having avg(grade)>70;
把重复的数据查出来:
语法:Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)
例如:select * From A where name in (select name from A group by id having count(1) >= 2)