《MySQL数据库管理与应用》知识点整理
Student表
1. 创建数据库
语法:create database数据库名;
答案:create database schooldb;
2. 创建数据表
语法
create table表名(
字段名1 数据类型 [约束] ,
……
字段名n 数据类型 [约束]
);
案例1:创建student表
答案:
create table student(
id int(10) primary key auto_increment,
name varchar(20) not null,
sex varchar(4) not null,
age int(5) not null,
department varchar(20) not null,
address varchar(50) not null
);
3. 一次添加多行数据
语法:
insert 表名(字段1,字段2…字段n) values
(字段1的值,字段2的值…字段n的值),
……
(字段1的值,字段2的值…字段n的值);
案例:
insert student (id,name,sex,age,department,address) values
(1,‘张老大’,‘男’,23,‘德文系’,‘北京市昌平区’),
(2,‘张老二’,‘男’,24,‘德文系’,‘北京市大兴区’),
(3,‘王老三’,‘男’,19,‘中文系’,‘新乡市红旗区’),
(4,‘李老四’,‘女’,22,‘中文系’,‘新乡市凤泉区’),
(5,‘王老五’,‘女’,20,‘英文系’,‘上海市浦东新区’),
(6,‘李六’ ,‘女’,18,‘英文系’,‘杭州市西湖区’);
4. 删除(delete)
语法:delete from 表名 [WHERE <表达式>];
案例:删除名为name为”王老五”的学生信息。
delete from student where name=‘王老五’;
5. 修改(update)
语法:update 表名 set 字段名=对应字段的值 [where <表达式>];
案例:修改“李六”的地址为“郑州市金水区”。
update student set address=‘郑州市金水区’ where name=‘李六’;
6. 全表查询
查询出student表所有信息
select * from student;
7. 条件查询
查询名字为“张老大”的学生信息
select * from student where name= ‘张老大’;
8. order by排序查询
语法:order by 字段名;默认升序,降序结尾添加 desc。
年龄降序排列
select * from student order by age desc;
9. 模糊查询(like)
like ‘李%’ 以李开头
select * from student where name like '李% ';
like ‘%李%’ 包含李
select * from student where name like '%李% ';
like ‘%李’ 以李结尾
select * from student where name like ‘%李’;
10. 分组查询与聚合函数的综合应用
语法:group by 字段名;
案例:男女学生的平均年龄,实现效果如图:
select sex as '性别',avg (age) as '平均年龄' from student group by sex;
主键约束: primary key
唯一约束: unique
自增长序列: auto_increment
外键约束:
【Constraint 约束名】 foreign key(字段名)references 主表名 (字段名)
例:
CONSTRAINT fk_grade_gradeid Foreign key(gradeid) REFERENCES grade(gradeid)
主表: grade ,共同字段是主键
从表: classinfo
共同字段: gradeid
是否允许为空
允许为空: null
不允许为空: not null
默认值: default
例如:
Use schooldb;
Create table department
(
department int auto_increment primary key,
departmentname varchar(20)not null
)
对于delete 与truncate两者的区别:
delete 删除表中的全部的数据,日志文件会记录,当删除大量数据,速度会受到影响,delete删除数据,表所占有的空间并没有被收回
truncate 删除表中全部数据,只留一个表的结构,不被日志记录,可以释放数据表的数据和索引所占据的所有空间,以及释放所有索引分配的空间,