第9章 mysql
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)
)
第9章 mysql