一、增加表记录:
insert [into] tab_name (field1,field2....) values (values1,values2....) ,
(values1,values2....),
... ;
insert tab_name set field=value, field=value,..... ;
二、修改记录:
update tab_name set field=value where 子句
三、删除表记录:
delete from tab_name where 子句
清空表记录: 1 delete from tab_name
2 truncate tab_name (数据量大时推荐使用)
四、查询表记录:
select * from tab_name : 显示所有的记录的所有字段信息
select [distinct] filed,filed2,..... from tab_name
where 子句
group by 分组 key : 分组条件
having 子句 : 过滤
order by
limit
查询 每一个省份的平均工资
select city,avg(salary) from emp group by city;
查询 平均工资大于8000的省份的名称
select city,avg(salary) from emp group by city having avg(salary) > 8000
多表查询:
内连接查询:
select * from emp inner join dep on emp.dep_id=dep.id;
左外连接查询:
select * from emp left join dep on emp.dep_id=dep.id;
五、完整性约束:
主键约束:
primary key : 非空(not null )且 唯一 (unique)
外键约束(关联字段):
FOREIGN KEY (字段) REFERENCES dep(字段)
六、表关系:
表与表的关系(两张表)
一对多
将关联字段设置在多的表中
CREATE TABLE emp(
id INT PRIMARY KEY ,
name VARCHAR (20),
dep_id INT ,
FOREIGN KEY (dep_id) REFERENCES dep(id)
)
多对多
借助第三张表实现的
CREATE TABLE STUDENT2TEACHER(
id INT PRIMARY KEY auto_increment,
studnet_id INT ,
teacher_id INT ,
FOREIGN KEY (studnet_id) REFERENCES student(id),
FOREIGN KEY (teacher_id) REFERENCES teacher(id),
)
一对一
将关联字段设为Unique
CREATE TABLE author(
id INT PRIMARY KEY ,
name VARCHAR (20),
authorDetial_id INT unique,
FOREIGN KEY (dep_id) REFERENCES dep(id)
)