資料庫 Mysql總結(1)

2021-08-09 08:25:40 字數 1895 閱讀 6990

1.約束:作用:為了保證資料的有效性和完整性

mysql中常用的約束:主鍵約束(primary key)  唯一約束(unique) 非空約束(not null) 外來鍵約束(foreign key)

1)主鍵約束:被修飾過的字段唯一非空

注意:一張表只能有乙個主鍵,這個主鍵可以包含多個字段

方式1:建表的同時新增約束 格式: 欄位名稱 字段型別 primary key

方式2:建表的同時在約束區域新增約束 

所有的字段宣告完成之後,就是約束區域了

格式: primary key(欄位1,欄位2)

create table pk01(

id int,

username varchar(20),

primary key (id)

方式3:建表之後,通過修改表結構新增約束

create table pk02(

id int,

username varchar(20)

);2)唯一約束:(了解)被修飾過的字段唯一,對null不起作用

方式1:建表的同時新增約束 格式: 欄位名稱 字段型別 unique

create table un(

id int unique,

username varchar(20) unique

);方式2:建表的同時在約束區域新增約束 

所有的字段宣告完成之後,就是約束區域了

unique(欄位1,字段值2...)

方式3:建表之後,通過修改表結構新增約束

alter table 表名 add unique(欄位1,欄位2);-- 新增的聯合唯一

alter table 表名 add unique(欄位1);-- 給乙個新增唯一

alter table 表名 add unique(欄位2);-- 給另乙個新增唯一

3)非空約束(了解)

特點:被修飾過的字段非空

方式:create table nn(

id int not null,

username varchar(20) not null

);truncate 清空表 ★

格式:truncate 表名; 乾掉表,重新建立一張空表和delete from 區別:

*****delete屬於dml語句  truncate屬於ddl語句

delete逐條刪除 truncate乾掉表,重新建立一張空表

auto_increment 自增

要求:1.被修飾的字段型別支援自增. 一般int

2.被修飾的字段必須是乙個key 一般是primary key

4)笛卡爾積:了解

多張表無條件的聯合查詢.沒有任何意思

select a.*,b.* from a,b;

5)內連線:★

格式1:顯式的內連線

select a.*,b.* from a [inner] join b on ab的連線條件

格式2:隱式的內連線

select a.*,b.* from a,b where ab的連線條件

6)外連線:★

左外連線:★

select a.*,b.* from a left [outer] join b on 連線條件;  outer 可以不寫

意思:先展示join左邊的(a)表的所有資料,根據條件關聯查詢 join右邊的表(b),符合條件則展示出來,不符合以null值展示.

右外連線:

select a.*,b.* from b right [outer] join a on 連線條件;  outer 可以不寫

意思:先展示jion右邊的表(a)表的所有資料,根據條件關聯查詢join左邊的表(b),符合條件則展示出來,不符合以null值展示.

7)子查詢:★

乙個查詢依賴另乙個查詢.

MySQL資料庫總結(1)入門語句

把以前總結在有道雲筆記的知識移到部落格上,順便複習一下 伺服器位址 可用ip,網域名稱 埠 3306 使用者名稱 密碼 mysql h localhost uusername ppasswd mysql h localhost u root p 回車 輸入密碼 h 如果不寫,則預設連localhos...

總結(1) 資料庫

一 mysql 資料庫儲存的原理 儲存過程中是乙個可程式設計的函式,它在資料庫中建立並儲存。它可以有sql語句和一些特殊的控制結構組成。當希望在不同的應用程式或平台上執行相同的函式,或者封裝特定功能時,儲存過程是非常有用的。資料庫中的儲存過程可以看做是對程式設計中物件導向方法的模擬。它允許控制資料的...

建立mysql資料庫總結 MySQL資料庫總結

引擎 檢視mysql預設引擎 show variables like storage engine 檢視表引擎 show table status from 資料庫名 修改表引擎 alter table 表名 engine innodb 建立時直接定義引擎 create table 表名 engin...