第二章未總結的:
*修改表
表創建後,我們還可以通過添加,刪除,修改表的列來修改表的定義。
1. 例如給Friend表添加一個 名爲Address的新列:
ALTER TABLE Friend ADD Address VARCHAR(30);
2.一次添加多個列:
ALTER TABLE Friend ADD Email VARCHAR(30),IGR VARCHAR(25);
3.重命名:
ALTER TABLE Friend RENAME NewFriend;
4.修改列的屬性:
ALTER TABLE 表名 MODIFY COLUMN 列名 要修改的數據類型
5.修改列名:
ALTER TABLE 表名 CHANGE 原列名 新列名+數據類型
6.中間加列:
ALTER TABLE 表名 ADD 列+數據類型 AFTER 列名
6.刪除列:
ALTER TABLE 表名 DROP.COLUMN 要刪的列名
*管理索引
注意:有了索引後,查詢速度會變快,但當修改表時,會降低速率,所以索引要適可而止的用
創建索引:
^創建索引的關鍵字:CREATE INDEX
CREATE INDEX <索引名> ON <表名> (<列名一>,[<列名二>],...); [此爲創建的非唯一索引]
CREATE UNIQUE INDEX <索引名> ON <表名> (<列名一>); [唯一索引]
^刪除索引:
ALTER TABLE 表名 DROP INDEX 列名索引
^索引:從左往右匹配
保證數據完整性
3.1數據庫完整性概述
* 數據完整性的重要性:防止儲存垃圾數據,提高數據庫的執行效率
*數據完整性實施的方法:
實體完整性(針對每一行有效) 主鍵約束(行) 唯一約束(列)
域完整性(針對每一列有效) 非空約束 默認約束
引用完整性(引用的編號有效)
用戶自定義完整性(保證自定義規則)
*創建非空約束
^不允許在Name和PhoneNo列上輸入NULL值得語法爲:
CREATE TABLE Friend (
Name VARCHAR(40) NOT NULL,
PhoneNo VARCHAR(30) NOTNULL);
*主鍵約束(Primary Key Constraint):默認情況下,不會爲空;只用一次;爲非空約束
法一:
CREATE TABLE afterClass(
id INT NOT NULL,
NAME VARCHAR(20),
sex CHAR(2),
CONSTRAINT myprimary PRIMARY KEY (NAME)
);
法二:
CREATE TABLE afterClass(
id INT NOT NULL,
NAME VARCHAR(20),
sex CHAR(2),
PRIMARY KEY(id)
);
法三:
CREATE TABLE afterClass(
id INT NOT NULL PRIMARY KEY,
NAME VARCHAR(20),
sex CHAR(2)
);
*唯一約束:可以用多次,可以爲空約束
法一:
唯一約束和默認約束:
CREATE TABLE afterClass(
id INT NOT NULL PRIMARY KEY,
NAME VARCHAR(20),
sex CHAR(2),
photonum INT UNIQUE DEFAULT 128900
);