1.登錄數據庫
打開命令行,輸入以下命令,輸入root密碼後即登錄MySQL數據庫。
mysql -h localhost -u root -p
2.創建數據庫
CREATE DATABASE <database_name>;
3.查看數據庫信息
SHOW CREATE DATABASE <database_name> \G;
4.查看當前系統中所有的數據庫
SHOW DATABASES;
5.刪除數據庫
DROP DATABASE <database_name>;
6.使用數據庫
USE <database_name>;
7.創建表
CREATE TABLE <table_name>(
id INT(11),
name VARCHAR(30),
score INT(11)
);
8.查看錶
SHOW TABLES;
9.使用主鍵約束
主鍵是用來連接其他表用的,主鍵約束要求主鍵列數據唯一,並且不爲空。
9.1 主鍵爲單字段
//方法一:
CREATE TABLE <table_name>(
id INT(11) PRIMARY KEY,
name VARCHAR(30),
score INT(11)
);
//方法二
CREATE TABLE <table_name>(
id INT(11),
name VARCHAR(30),
score INT(11),
PRIMARY KEY (id)
);
9.2 主鍵爲多個字段
CREATE TABLE <table_name>(
id INT(11),
name VARCHAR(30),
score INT(11),
PRIMARY KEY (id, name)
);
10.使用外鍵約束
外鍵是用來連接其他表用的,可以是一列或者多列。一個表可以有一個或多個外鍵。外鍵對應的是參照完整性,一個表的外鍵可以是空值,如果不是空值,那就必須是另外一個表中主鍵的某個值。
表A的外鍵和表B的主鍵聯合起來就使得表A和表B建立了聯繫。其中,表A就是從表,表B就是主表。
CONSTRAINT <外鍵名> FOREIGN KEY <本表字段名> REFERENCES <主表名> <主鍵字段名>
CREATE TABLE <table_name>(
id INT(11) PRIMARY KEY,
name VARCHAR(30),
score INT(11),
st_id INT(11),
CONSTRAINT fk_tb1_tb2 FOREIGN KEY (st_id) REFERENCES 主表名(id)
);
fk_tb1_tb2是外鍵約束的名稱,st_id是從表外鍵名,id是主表的主鍵名。
11.使用非空約束
CREATE TABLE <table_name>(
id INT(11),
name VARCHAR(30) NOT NULL,
score INT(11),
PRIMARY KEY (id, name)
);
12.使用唯一性約束
CREATE TABLE <table_name>(
id INT(11),
name VARCHAR(30) UNIQUE,
score INT(11),
PRIMARY KEY (id, name)
);
CREATE TABLE <table_name>(
id INT(11),
name VARCHAR(30),
score INT(11),
CONSTRAINT STH UNIQUE(name)
);
UNIQUE和PRIMARY KEY的區別:一個表中可以有多個字段設置爲UNIQUE,但最多只能有一個字段設置爲主鍵;UNIQUE字段可以爲NULL,主鍵字段不能爲NULL。
13.使用默認約束
指定默認值。
CREATE TABLE <table_name>(
id INT(11),
name VARCHAR(30),
score INT(11),
gender VARCHAR(1) DEFAULT "M"
CONSTRAINT STH UNIQUE(name)
);
14.表的字段值自動增加
AUTO_INCREMENT關鍵字可以使字段值自動增加。一個表中只能有一個字段設置成此屬性,並且此字段必須是主鍵或者是主鍵的一部分,被約束的字段的數據類型是任意整數類型。
CREATE TABLE <table_name>(
id INT(11) PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(30),
score INT(11)
);
15.查看錶的基本結構
DESCRIBE 表名;
DESC 表名;
SHOW CREATE TABLE 表名\G;
16.修改表名
ALTER TABLE 舊錶名 RENAME 新表名;
17.修改數據表中字段的數據類型
ALTER TABLE 表名 MODIFY 字段名 新數據類型;
18.修改字段名
ALTER TABLE 表名 CHANGE 舊字段名 新字段名 新數據類型;
19.在表中添加新字段
ALTER TABLE 表名 ADD 新字段名 新字段的數據類型;
ALTER TABLE 表名 ADD 新字段名 新字段的數據類型 NOT NULL;
ALTER TABLE 表名 ADD 新字段名 新字段的數據類型 FIRST;
ALTER TABLE 表名 ADD 新字段名 新字段的數據類型 AFTER 已存在的字段名;
20.刪除字段
ALTER TABLE 表名 DROP 字段名;
21.修改字段在表中排列位置
使字段爲表的第一個字段
ALTER TABLE 表名 MODIFY 字段名 字段類型 FIRST;
把字段放到指定字段之後
ALTER TABLE 表名 MODIFY 字段名 字段類型 AFTER 字段名;
22.更改表的存儲引擎
ALTER TABLE 表名 ENGINE=更改後的存儲引擎名;
23.刪除表的外鍵約束
ALTER TABLE 表名 DROP FOREIGN KEY 外鍵約束名;
24.刪除數據表
刪除沒有被關聯的表:
DROP TABLE IF EXISTS 表1, 表2, ... 表n;
如果數據表之間存在外鍵關聯的話,可以先刪除從表,再刪除主表;也可以先取消外鍵約束,再刪除需要刪除的表:
注意點1:
主鍵存在的意義是用於多個表之間進行連接操作,所以並不是每個表都必須有主鍵。
注意點2:
外鍵約束不能跨引擎使用。MySQL可以爲每個表指定引擎,但是創建外鍵約束的兩個表必須使用同一個引擎。