mysql介绍
数据库系统:
数据库:文件夹
数据表:文件
表记录:一条数据
数据库管理软件
mysql : 开源
oracle
sqlserver
mysql :
服务端: mysqld
客户端: cmd php python
数据库操作:
show databases; 显示所有数据库名称
create database database_name [character set utf8]; 创建一个数据库
show create database database_name; 查看数据库的创建信息
use database_name; 切换数据库
alter database db_name [character set xxx] 修改数据库的字符集
drop database [if exists] db_name; 删除数据库
数据表操作:
1 创建表:
create table table_name (
filed 字段类型 [完整性约束],
filed 字段类型 [完整性约束],
filed 字段类型 [完整性约束],
);
2 查看表
desc table_name; 查看表结构
show tables; 是该数据库下所有的表名
show create table table_name ; 查看数据库的表创建信息
3 修改表:
alter table table_name add field type 完整性约束
alter table table_name modify field type 完整性约束
alter table table_name change field type 完整性约束
alter table table_name drop field type 完整性约束
4 删除表
drop table tab_name;
表记录操作:
1 增加记录:
insert [into] tab_name (field1,field2....) values (values1,values2....) ,
(values1,values2....),
... ;
insert tab_name set field=value, field=value,..... ;
2 修改记录
update tab_name set field=value where 子句
3 删除表记录:
delete from tab_name where 子句
清空表记录: 1 delete from tab_name
2 truncate tab_name (数据量大时推荐使用)
4 查询表记录(******)
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)
外键约束(关联字段):
表关系:
表与表的关系(两张表)
一对多
将关联字段设置在多的表中
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)
)