MySQL資料庫和表的管理
阿新 • • 發佈:2022-03-04
資料庫
建立資料庫
建立資料庫並指定字符集,mysql強烈建議utf8mb4
CREATE DATABASE IF NOT EXISTS 資料庫名 CHARACTER SET 字符集;
# 例子
# CREATE DATABASE IF NOT EXISTS db CHARACTER SET "utf8mb4";
注意:DATABASE 不能改名。一些視覺化工具可以改名,它是通過建新庫,把所有表複製到新庫,再刪除舊庫完成的。
使用資料庫
- 檢視當前所有的資料庫
# 有一個S,代表多個數據庫
SHOW DATABASES;
- 檢視當前正在使用的資料庫
# 使用的一個mysql中的全域性函式 SELECT DATABASE();
檢視指定庫下所有的表
SHOW TABLES FROM 資料庫名;
檢視資料庫的建立資訊
SHOW CREATE DATABASE 資料庫名;
或者:
SHOW CREATE DATABASE 資料庫名\G
使用/切換資料庫
USE 資料庫名;
注意:要操作表格和資料之前必須先說明是對哪個資料庫進行操作,否則就要對所有物件加上“資料庫名.”。
修改資料庫
- 更改資料庫字符集
ALTER DATABASE 資料庫名 CHARACTER SET 字符集;
刪除資料庫
DROP DATABASE IF EXISTS 資料庫名;
表
建立表
- 必須具備
- CREATE TABLE 許可權
- 儲存空間
- 語法格式
CREATE TABLE [IF NOT EXISTS] 表名(
欄位1, 資料型別 [約束條件] [預設值],
欄位2, 資料型別 [約束條件] [預設值],
欄位3, 資料型別 [約束條件] [預設值],
……
[表約束條件]
);
- 必須指定
- 表名
- 列名,資料型別,長度
查看錶結構
DESC 表名;
檢視建立表的語句
SHOW CREATE TABLE 表名;
修改表
修改表指的是修改資料庫中已經存在的資料表的結構。
使用 ALTER TABLE 語句可以實現:
- 向已有的表中新增列
- 修改現有表中的列
- 刪除現有表中的列
- 重新命名現有表中的列
新增一列
ALTER TABLE 表名 ADD 【COLUMN】 欄位名 欄位型別 【FIRST|AFTER 欄位名】;
修改一列
ALTER TABLE 表名 MODIFY 【COLUMN】 欄位名1 欄位型別,欄位名2 欄位型別.... 【DEFAULT 預設值】【FIRST|AFTER 欄位名
2】;
重新命名一列
ALTER TABLE 表名 CHANGE 【column】 列名 新列名 新資料型別;
刪除一列
ALTER TABLE 表名 DROP 【COLUMN】欄位名;
重命名錶
RENAME TABLE 表名 TO 新表名;
# 或者
ALTER TABLE 表名 RENAME [TO] 新表名;
刪除表
- 在MySQL中,當一張資料表沒有與其他任何資料表形成關聯關係時,可以將當前資料表直接刪除。
- 資料和結構都被刪除
- 所有正在執行的相關事務被提交
- 所有相關索引被刪除
- DROP TABLE 語句不能回滾
DROP TABLE IF EXISTS 表名;
清空表
- 只刪除表的資料,保留表的結構欄位
- TRUNCATE語句不能回滾,而使用 DELETE 語句刪除資料,可以回滾
TRUNCATE TABLE 表名;