前言
本人想學數據庫了,於是有了這個Mysql
系列。
本系列主要用於本人學習Mysql
的記錄,我把它當做學習筆記。
沒有從安裝數據庫及用戶新增和權限分配等知識開始,而是側重於Mysql
表操作、數據增刪改查及其他相關知識。
爲學習方便,以下將以student
(學生表)、class
(班級表)、lesson
(課程表) 爲導向進行學習。
另外,本人所用可視化工具是Navicat Premium
還有一點:該篇文章用到一些簡單的數據類型字段,如:INT、TINYINT、VARCHAR 只需知道它是數字類型和字符串類型。
關於數據類型本篇不做介紹,我會在接下來完成《數據類型》專門說這塊。
建表
建表通用語句:
CREATE TABLE table_name (column_name column_type);
翻譯過來就是:CREATE TABLE 表名 ( 字段名 字段類型等 );
建立 student 表
使用上面通用語句來建學生表:
CREATE TABLE student (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '自增主鍵',
student_name VARCHAR(30) COMMENT '學生姓名',
age TINYINT DEFAULT 0 COMMENT '年齡',
sex CHAR(5) NOT NULL DEFAULT '0' COMMENT '性別',
create_time timestamp DEFAULT CURRENT_TIMESTAMP()
) ENGINE=InnoDB DEFAULT CHARACTER=utf8;
運行上面 sql 後,建表成功:
分析一下建表語句,先看除字段以外的部分:
CREATE TABLE student (
...
) ENGINE=InnoDB DEFAULT CHARACTER=utf8;
ENGINE=InnoDB DEFAULT CHARACTER=utf8;
是數據庫默認的可以不用寫,但作爲新手應該知道,這句是指:數據庫引擎使用的是InnoDB
, 默認的字符編碼是utf8
。
下面再來看看字段定義部分:
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '自增主鍵',
student_name VARCHAR(30) COMMENT '學生姓名',
age TINYINT DEFAULT 0 COMMENT '年齡',
sex CHAR(5) NOT NULL DEFAULT '0' COMMENT '性別',
create_time timestamp DEFAULT CURRENT_TIMESTAMP()
- id: 字段名稱
- INT: 字段數據類型
- PRIMARY KEY: 將該字段設爲主鍵
- AUTO_INCREMENT:自增
- COMMENT:爲該字段添加註釋,後面的字符串爲註釋內容
- DEFAULT: 默認值
- CURRENT_TIMESTAMP(): 當前時間
總結一下公式大概就是:字段名稱 + 字段類型 + [ 默認值、主鍵設置、自增、註釋...... ]
[ ]
內爲可選項
以上是建表時常用的命令,[]
內的......
表示還有其他命令,但上面對我這個入門者已經夠了。
注意:建表時還需要考慮表之間的關聯和 foreign key
(外鍵) ,這裏暫時不介紹,後面會有章節專門來說這塊。
改表
表是建好了,但隨着開發進行 之前建好的表很可能不滿足未來需求,所以對錶的修改是必須的
同樣,修改表也有通用語句:
ALTER TABLE <表名> [修改選項]
下面是修改選項語法
添加字段:
ADD COLUMN <列名> <類型> ...
修改字段名:
CHANGE COLUMN <舊列名> <新列名> <新列類型> ...
優化(修改)字段類型
MODIFY COLUMN <列名> <類型> ...
刪除字段
DROP COLUMN <列名> ...
修改表名
RENAME TO <新表名>
對於 MODIFY
和 CHANGE
可能有疑問,這裏說明下:MODIFY
主要用於修改字段類型等,不能修改字段名稱,而CHANGE
是把舊字段換成新字段 當然也可以修改字段類型。
簡單來說MODIFY
是對原有字段做類型修改,CHANGE
是直接將整個字段換掉 包括類型等
添加字段
下面動手操作一把,首先是對錶添加字段:
ALTER TABLE student ADD COLUMN hobby VARCHAR(100);
上面語句爲 student
表添加了一個字段hobby
(愛好) ,該字段數據類型是字符串(100字符)。
下圖表示 hobby 字段添加成功:
使用 CHANGE 修改字段
ALTER TABLE student CHANGE COLUMN hobby hobby_num TINYINT;
上面語句將舊字段 hobby
替換成新字段 hobby_num
字段類型爲數字類型;
執行完後的結果如下:
使用 MODIFY 修改字段類型
上面說過,MODIFY
不能修改字段名,一般用於修改字段類型等操作,下面我們把剛纔的hobby_num
從數字類型改爲字符串類型:
ALTER TABLE student MODIFY COLUMN hobby_num VARCHAR(30);
可以看到,類型已經成功修改爲VARCHAR
類型。
刪除字段
刪除字段非常簡單,這裏我們刪除 hobby_num
字段:
ALTER TABLE student DROP COLUMN hobby_num;
執行成功,下圖中 hobby_num 已經被刪除:
修改表名
修改表名的操作頻率非常低,但還是要知道一下。
我們把 student
表名改爲 students
:
ALTER TABLE student RENAME students;
執行後可以看到,表名已經修改成功:
刪表
刪表的操作除了在學習中常用到,真正在開發中操作頻率也非常低。
刪表語句如下:
DROP TABLE table_name;
我們把 students
表給刪了:
DROP TABLE students;
看下結果:
OK,表沒了...沒了...了...
總結
本篇學習了:
- 如何創建表
- 對錶名進行更改、表字段進行增刪改操作
- 對錶進行刪除操作
可能的疑惑:
建表的時候用了很多數據類型,光數字類型就出現了INT
、TINYINT
,字符串類型出現了CHAR
、VARCHAR
。
所以下篇文章我們來學習《數據類型》來了解它們。