1. 程式人生 > >MySQL三-----資料庫和表的基本操作

MySQL三-----資料庫和表的基本操作

1.1建立和檢視資料庫

建立資料庫語法:

CREATE DATABASE 資料庫名稱

示例:CREATE DATABASE is;建立一個名為is的資料庫;
檢視所有已經存在的資料庫:
SHOW DATABASE;
檢視一個已經存在的資料庫的資訊:

SHOW CREATE DATABASE is;

1.2修改資料庫

MySQL一旦安裝完成,建立的資料庫編碼也就確定了,但如果想修改資料庫的編碼,可以使用以下語句:

ALTER DATABASE 資料庫名稱 DEFAULT CHARACTER SET gbk COLLATE gbk_bin;

1.3刪除資料庫

DROP DATABASE 資料庫名稱;

2.1資料表的基本操作

在建立資料表之前,需要指明在哪一個資料庫建立,
USE 資料庫名稱;
表示,以下的操作是在當前資料庫中操作。
建立資料表語法格式如下:

CREATE TABLE 表名
(
欄位名1,資料型別[完整性約束條件],
欄位名2,資料型別[完整性約束條件],
欄位名3,資料型別[完整性約束條件],
欄位名1,資料型別[完整性約束條件],
)

表名是指要建立的資料表的名稱,“欄位名”是資料表的列表,完整性約束,指的是欄位的某些特殊約束條件。
示例:

CREATE TABLE tb_grade
(
Id INT
(10), name VARCHAR(20), grade FLOAT );

2.2檢視資料表資訊

2.2.1使用SHOW CREATE TABLE 檢視資料表

SHOW CTEATE TABLE 表名;

如果要使檢視的結果整齊,需要在後面加上\G ;

SHOW CTEATE TABLE tb_grade\G

2.2.2使用DESCRIBE語句檢視資料表

DESCRIBE 表名;

也可以簡寫為:DESC表名;

2.3修改資料表

2.3.1修改資料表名

在資料庫中,不同的資料表是通過表名來進行區分的,在MySQL中,修改表名的語法規則如下:

ALTER
TABLE 舊錶名 RENAME [TO] 新表名;

2.3.2修改欄位名

ALTER TABLE 表名 CHANGE 舊欄位名 新欄位名 新資料型別;
需要注意的是,新資料型別不能為空,且必須設定成與原欄位名相同;

2.3.3修改欄位的資料型別

修改欄位的資料型別,就是將欄位的資料型別轉為另外一種資料型別。

ALTER TABLE 表名 MODIFY 欄位名 資料型別;

2.3.4新增欄位

ALTER TABLE 表名 ADD 新欄位名 資料型別 [約束條件] [FIRST|AFTER 已存在欄位名]

在上述格式中,新欄位名是新增的欄位的名稱,“FIRST”為可選引數,用於將新新增的欄位設定為表的第一欄位,“AFTER”也為可選引數,用於將新新增的欄位新增到指定的“已存在的欄位名”後面;

2.3.5 刪除欄位

ALTER TABLE 表名 DROP 欄位名;

2.3.6修改欄位的排列位置

ALTER TABLE 表名 MODIFY 欄位名1 資料型別 FRIST|AFTER 欄位名2

2.3.7刪除資料表

DROP TABLE 表名;

3.表的約束

為了防止在資料表中插入錯誤的資料,在MySQL中,定義了一些維護資料庫完整性的規則,即表的約束
約束條件 說明
PRIMARY KEY
FOREIGN KEY
NOT NULL
UNIQUE
DEFAULT 主鍵約束,用於唯一標識對於的記錄
外來鍵約束
非空約束
唯一性約束
預設值約束,設定欄位的預設值
在MySQL中為了快速查詢表中的資訊,可以設定主鍵來實現。主鍵約束分為兩種:

3.1單欄位主鍵

單欄位主鍵是指由一個欄位構成的主鍵,語法如下:
欄位名 資料型別 PRIMARY KEY
示例:

CREATE TABLE example(id INT PRIMARY KEY,
name VARCHAR(20),
grade FLOAT
);

上述SQL執行之後,表中建立了id ,name ,grade 三個欄位,其中,id欄位是主鍵。

3.2多欄位主鍵

多欄位主鍵指的是多個欄位組合而成的主鍵,語法如下:
PRIMARY KEY(欄位名1,欄位名2,欄位名3)
示例:

CREATE TABLE example(id INT,
name VARCHAR(20),
grade FLOATPRIMARY KEY(id,name)
);

主鍵為兩個,這兩個欄位的組合可以唯一確定一條記錄。

3.3非空約束

非空約束指的是欄位是值不能為NULL,在MySQL中,非空約束是通過NOT NULL定義的,基本語法如下:

欄位名 資料型別 NOT NULL;

CREATE TABLE example(id INT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
grade FLOAT
);

3.4唯一約束

唯一約束用於保證資料表中的欄位的唯一性,即表中的欄位的值不能重複出現。

欄位名 資料型別 NOT NULL;

CREATE TABLE example(id INT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
grade FLOAT UNIQUE
);

3.5預設約束

欄位名 資料型別 DEFAULT 預設值;

CREATE TABLE example(id INT PRIMARY KEY,
name VARCHAR(20) NOT NULL, 
grade FLOAT DEFAULT 0
);

3.6設定表的欄位值自動增加

在資料表中,若想為表中插入的新紀錄自動生成唯一的ID,可以使用以下方法:
欄位名 資料型別 AUTO_INCREMENT;
示例:

CREATE TABLE example(id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL, 
grade FLOAT 
);