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)

)

posted on 2017-09-15 05:16  努力——奔跑的蜗牛  阅读(79)  评论(0编辑  收藏  举报

导航