mysql學習筆記2

2021-08-19 01:13:11 字數 2215 閱讀 5925

約束:

作用:

為了保證資料的有效性和完整性

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

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

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

方式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)

);

alter table pk02 add primary key(欄位名1,欄位名2..);

alter table pk02 add primary key(id,username);

唯一約束:(了解)

被修飾過的字段唯一,對null不起作用

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

create table un(

id int unique,

username varchar(20) unique

);

insert into un value(10,'tom');-- 成功

insert into un value(10,'jack');-- 錯誤 duplicate entry '10' for key 'id'

insert into un value(null,'jack');-- 成功

insert into un value(null,'rose');-- 成功

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

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

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

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

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

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

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

非空約束(了解)

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

方式:create table nn(

id int not null,

username varchar(20) not null

);insert into nn values(null,'tom');-- 錯誤的 column 'id' cannot be null

truncate 清空表 ★

格式:

truncate 表名; 乾掉表,重新建立一張空表

和delete from 區別:

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

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

auto_increment 自增

要求:

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

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

[關於inner join 與 left join 之間的區別:](可參考這位博主)(

left join和 right join都屬於的outer join。

列表內容

` 這個符號再mysql中是用於轉義用的,為了使用保留的關鍵字這類的名稱時 ,會使用到這個符號。

列表內容

分頁查詢每個資料庫的語句是不通用的.

mysql:使用limit的關鍵字.

* select * from product limit a,b; –a:從哪開始,b:查詢多少條.

*表中的資料從0開始計數的。

oracle:使用sql語句巢狀.

sqlserver:使用top的關鍵字.

mysql學習筆記(2)

mysql中資料型別 1.整形 整形大小 位元組 數值 有符號 tinyint 1 128 127 smallint 2 2 15 2 15 1 mediumint 3 2 23 2 23 1 int4 2 32 2 32 1 bigint 8 2 63 2 63 1 tinyint m unsig...

mysql學習筆記2

mysql常用函式 1 字串函式 concat s1,s2.sn 把傳入的引數連線成乙個字串 select concat baiduadress,address from kd order insert str,x,y,newstr 將字串str從第x位置開始,y個字元長的子串替換為字串newstr...

mysql學習筆記(2)

mysql 函式 1.length 獲取引數值的位元組個數 select length join select length 漢字所佔位元組 2.concat 拼接字串 select concat last name,frist name 姓名 from table name 3.upper low...