資料庫mysql學習筆記記錄

joytoy發表於2021-09-09

Mysql語句的規範:
1、 關鍵字與函式名稱全部大寫
2、 資料庫名稱、表名稱、欄位名稱全部小寫
3、 SQL語句必須以分號結尾
MySql常用命令:
1、 顯示當前伺服器版本:SELECT VERSION();
2、 顯示當前日期時間:SELECT NOW();
3、 顯示當前使用者:SELECT USER();
4、 顯示警告資訊:SHOW WARNINGS;
5、 顯示當前資料庫:SELECT DATABASE();
建立資料庫:
CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name;
檢視當前伺服器下的資料表列表:
SHOW {DATABASES|SCHEMAS} [LIKE ‘pattern’ | WHERE expr];
檢視建立的資料庫編碼:
SHOW CREATE DATABASE db_name;
修改資料庫:
ALTER {DATABASE|SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name;
刪除資料庫:
DROP {DATABASE|SCHEMA} [IF EXISTS] db_name;
資料型別:
資料型別是指列、儲存過程引數、表示式和區域性變數的資料特徵,它決定了資料的儲存格式,代表了不同的資訊型別。
開啟資料庫:
USE 資料庫名稱
建立資料表:
CREATE TABLE [IF NOT EXISTS] table_name(
column_name data_type,
)
檢視資料表列表:
SHOW TABLES [FROM db_name] [LIKE ‘pattern’|WHERE expr];
檢視資料表結構:
SHOW COLUMNS FROM tbl_name
插入記錄:
INSERT [INTO] tbl_name [col_name,…] VALUES(val,…)

AUTO_INCREMENT:
自動編號,且必須與主鍵組合使用
預設情況下,起始值為1,每次的增量為1

PRIMARY KEY:
主鍵約束:
每張資料表只能存在一個主鍵,主鍵保證記錄的唯一性,主鍵自動為not null

UNIQUE KEY
唯一約束
唯一約束可以保證記錄的唯一性
唯一約束的欄位可以為空值(null)
每張資料表可以存在多個唯一約束

FOREIGN KEY
保持資料一致性,完整性。實現一對一或一對多關係。

外來鍵約束的要求
1、 父表和子表必須使用相同的儲存引擎,而且禁止使用臨時表。
2、 資料表的儲存引擎只能為InnoDB。
3、 外來鍵列和參照列必須具有相似的資料型別。其中數字的長度或是否有符號位必須相同;而字元的長度則可以不同。
4、 外來鍵列和參照列必須建立索引。如果外來鍵列不存在索引的話,Mysql將自動建立索引。

編輯資料表的預設儲存引擎
MySQL配置檔案my.ini:default-storage-engine=INNODB

SHOW CREATE TABLE tb_name;//檢視建立mysql時語句和資料庫引擎

FOREIGN KEY(欄位名) REFERENCES 參照表名(參照列)

SHOW INDEXES FROM tb_name;//檢視資料表是否有索引
SHOW INDEXES FROM tb_nameG;//以網格形式展現

外來鍵約束的參照操作
1、 CASCADE:從父表刪除或更新且自動刪除或更新子表中匹配的行
2、 SET NULL:從父表刪除或更新行,並設定子表中的外來鍵列為null。如果使用該選項,必須保證子表列沒有指定not null
3、 RESTRICT:拒絕對父表的刪除或更新操作。
4、 NO ACTION:標準SQL的關鍵字,在MySql中與RESTRICT相同。

修改資料表
新增單列
ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST|AFTER col_name]
新增多列
ALTER TABLE tbl_name ADD [COLUMN] (col_name column_definition,…)
刪除列
ALTER TABLE tbl_name DROP [COLUMN] col_name
新增主鍵約束
ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] PRIMARY KEY [index_type] (index_col_name,…)

新增唯一約束
ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,…)

新增外來鍵約束
ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] FOREIGN KEY [index_name] (index_col_name,…) reference_definition

新增/刪除預設約束
ALTER TABLE tbl_name ALTER [COLUMN] col_name {SET DEFAULT literal|DROP DEFAULT}

刪除主鍵約束
ALTER TABLE tbl_name DROP PRIMARY KEY

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4650/viewspace-2799532/,如需轉載,請註明出處,否則將追究法律責任。

相關文章