数据库SQL基础语法
一、 數(shù)據(jù)完整性
數(shù)據(jù)完整性是為了保證插入到數(shù)據(jù)庫中的數(shù)據(jù)是正確的,防止用戶可能的錯誤輸入。
數(shù)據(jù)完整性分為實體完整性、域完整性、參照完整性。
2.1實體(行)完整性
(實體完整性中的實體指的是表中的行,因為一行記錄對應(yīng)一個實體)
實體完整性規(guī)定表的一行在表中是唯一的實體,不能出現(xiàn)重復(fù)。
實體完整性通過表的主鍵來實現(xiàn)。
主鍵關(guān)鍵字: primary key
主鍵特點: 不能為null,并且唯一。
主鍵分類:
邏輯主鍵:例如ID,不代表實際的業(yè)務(wù)意義,只是用來唯一標(biāo)識一條記錄(推薦)
業(yè)務(wù)主鍵:例如username,參與實際的業(yè)務(wù)邏輯。
主鍵使用方式:
方式一:
Create table t1(
Id int primary key,
Name varchar(100)
);
Insert into t1 values(1,’zs’);
Insert into t1 values(2,’ls’);
主鍵自動增長:
關(guān)鍵字: auto_increment
create table t4(
id int primary key auto_increment,
name varchar(100)
);
Insert into t4(name) values(‘zs’);
Insert into t4 values(null,’ls’);
2.2域(列)完整性
指數(shù)據(jù)庫表的列(即字段)必須符合某種特定的數(shù)據(jù)類型或約束
數(shù)據(jù)類型
長度
非空約束:NOT NULL
唯一約束:UNIQUE
CREATE TABLE t5(
username varchar(100) NOT NULL UNIQUE,
gender varchar(100) NOT NULL,
phonenum varchar(100) UNIQUE
);
– username 唯一
– 錯誤信息 [Err] 1062 - Duplicate entry ‘ls’ for key ‘username’
– [Err] 1062 -關(guān)鍵字“用戶名”的重復(fù)條目“l(fā)s”
insert into student3(username,gender,phone) VALUES(‘ls’,‘男’,‘112’);
– gender 不能為 NULL
– 錯誤 Field ‘gender’ doesn’t have a default value
– 字段“gender”沒有默認值
insert into student3(username,phone) VALUES(‘ww’,‘113’);
– phone 唯一
– 錯誤 Duplicate entry ‘ll’ for key ‘username’
– 關(guān)鍵字“用戶名”的重復(fù)條目“l(fā)l”
insert into student3(username,gender,phone) VALUES(‘ll’,‘男’,‘113’);
2.3參照完整性
參照完整性指的就是多表之間的設(shè)計,主要使用外鍵約束。
多表設(shè)計: 一對多、多對多、一對一設(shè)計
2.3.1一對多(1* N)
1.客戶和訂單的關(guān)系就是一對多,一個客戶可以有多張訂單,一張訂單屬于一個客戶;
步驟:
(1).畫出客戶和訂單的表格
(2).畫出customer_id外鍵列,進行外鍵約束。
(3).代碼實現(xiàn)
2. 代碼實現(xiàn):
創(chuàng)建客戶表:
CREATE TABLE customers(
id int,
name varchar(100),
address varchar(255),
PRIMARY KEY(id)
);
創(chuàng)建訂單表:
CREATE TABLE orders(
order_num int primary key,
price float(8,2),
status int,
customer_id int,
CONSTRAINT customer_id_fk FOREIGN KEY(customer_id) REFERENCES customers(id)
);
// 外鍵約束:
// constraint customer_id_fk foreign key(customer_id) references customers(id);
注: constraint: 約束的意思。foreign key: 外鍵。references: 參照
創(chuàng)建一個名叫customer_id_fk的外鍵約束,其中外鍵指的是customer_id,并且參照的是 customers表中的id列。
總結(jié)
以上是生活随笔為你收集整理的数据库SQL基础语法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySql数据库SQL语言基础知识点—N
- 下一篇: 数据库SQL基础知识点