1. 程式人生 > >第9章 mysql

第9章 mysql

python 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