資料庫-Mysql語句

  • 2020 年 3 月 29 日
  • 筆記

Mysql語句

不定時更新


1.資料庫相關的語句

/* 資料庫操作 */ ------------------  -- 啟動MySQL      net start mysql    -- 接與斷開伺服器      mysql -h 地址 -P 埠 -u 用戶名 -p 密碼    -- 跳過許可權驗證登錄MySQL      mysqld --skip-grant-tables    -- 修改root密碼,密碼加密函數password()      update mysql.user set password=password('root');    -- 顯示哪些執行緒正在運行      SHOW PROCESSLIST    -- 查看系統變數及其值      SHOW VARIABLES    -- 查看當前資料庫      select database();    -- 顯示當前時間、用戶名、資料庫版本      select now(), user(), version();    -- 創建庫      create database[ if not exists] 資料庫名 資料庫選項      資料庫選項:          CHARACTER SET charset_name          COLLATE collation_name    -- 查看已有庫      show databases[ like 'pattern']    -- 查看當前庫資訊      show create database 資料庫名    -- 修改庫的選項資訊      alter database 庫名 選項資訊    -- 刪除庫      drop database[ if exists] 資料庫名          同時刪除該資料庫相關的目錄及其目錄內容  

2.表的相關語句

/* 表的操作 */ ------------------  -- 創建表      create [temporary] table[ if not exists] [庫名.]表名 ( 表的結構定義 )[ 表選項]          每個欄位必須有數據類型          最後一個欄位後不能有逗號          temporary 臨時表,會話結束時表自動消失          對於欄位的定義:              欄位名 數據類型 [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY] [COMMENT 'string']    -- 表選項      -- 字符集          CHARSET = charset_name          如果表沒有設定,則使用資料庫字符集        -- 存儲引擎          ENGINE = engine_name          表在管理數據時採用的不同的數據結構,結構不同會導致處理方式、提供的特性操作等不同          常見的引擎:InnoDB MyISAM Memory/Heap BDB Merge Example CSV MaxDB Archive          不同的引擎在保存表的結構和數據時採用不同的方式          MyISAM表文件含義:.frm表定義,.MYD表數據,.MYI表索引          InnoDB表文件含義:.frm表定義,表空間數據和日誌文件          SHOW ENGINES -- 顯示存儲引擎的狀態資訊          SHOW ENGINE 引擎名 {LOGS|STATUS} -- 顯示存儲引擎的日誌或狀態資訊        -- 數據文件目錄          DATA DIRECTORY = '目錄'        -- 索引文件目錄          INDEX DIRECTORY = '目錄'        -- 表注釋          COMMENT = 'string'        -- 分區選項          PARTITION BY ... (詳細見手冊)    -- 查看所有表      SHOW TABLES[ LIKE 'pattern']      SHOW TABLES FROM 表名    -- 查看錶機構      SHOW CREATE TABLE 表名    (資訊更詳細)      DESC 表名 / DESCRIBE 表名 / EXPLAIN 表名 / SHOW COLUMNS FROM 表名 [LIKE 'PATTERN']      SHOW TABLE STATUS [FROM db_name] [LIKE 'pattern']    -- 修改表      -- 修改表本身的選項          ALTER TABLE 表名 表的選項          EG:    ALTER TABLE 表名 ENGINE=MYISAM;        -- 對錶進行重命名          RENAME TABLE 原表名 TO 新表名          RENAME TABLE 原表名 TO 庫名.表名    (可將表移動到另一個資料庫)          -- RENAME可以交換兩個表名        -- 修改表的欄位機構          ALTER TABLE 表名 操作名          -- 操作名              ADD[ COLUMN] 欄位名        -- 增加欄位                  AFTER 欄位名            -- 表示增加在該欄位名後面                  FIRST                -- 表示增加在第一個              ADD PRIMARY KEY(欄位名)    -- 創建主鍵              ADD UNIQUE [索引名] (欄位名)-- 創建唯一索引              ADD INDEX [索引名] (欄位名)    -- 創建普通索引              ADD              DROP[ COLUMN] 欄位名        -- 刪除欄位              MODIFY[ COLUMN] 欄位名 欄位屬性        -- 支援對欄位屬性進行修改,不能修改欄位名(所有原有屬性也需寫上)              CHANGE[ COLUMN] 原欄位名 新欄位名 欄位屬性        -- 支援對欄位名修改              DROP PRIMARY KEY    -- 刪除主鍵(刪除主鍵前需刪除其AUTO_INCREMENT屬性)              DROP INDEX 索引名    -- 刪除索引              DROP FOREIGN KEY 外鍵    -- 刪除外鍵    -- 刪除表      DROP TABLE[ IF EXISTS] 表名 ...    -- 清空表數據      TRUNCATE [TABLE] 表名    -- 複製表結構      CREATE TABLE 表名 LIKE 要複製的表名    -- 複製表結構和數據      CREATE TABLE 表名 [AS] SELECT * FROM 要複製的表名    -- 檢查表是否有錯誤      CHECK TABLE tbl_name [, tbl_name] ... [option] ...    -- 優化表      OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...    -- 修復表      REPAIR [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ... [QUICK] [EXTENDED] [USE_FRM]    -- 分析表      ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...  

3.數據的相關語句

/* 數據操作 */ ------------------  -- 增      INSERT [INTO] 表名 [(欄位列表)] VALUES (值列表)[, (值列表), ...]          -- 如果要插入的值列表包含所有欄位並且順序一致,則可以省略欄位列表。          -- 可同時插入多條數據記錄!          REPLACE 與 INSERT 完全一樣,可互換。      INSERT [INTO] 表名 SET 欄位名=值[, 欄位名=值, ...]    -- 查      SELECT 欄位列表 FROM 表名[ 其他子句]          -- 可來自多個表的多個欄位          -- 其他子句可以不使用          -- 欄位列表可以用*代替,表示所有欄位    -- 刪      DELETE FROM 表名[ 刪除條件子句]          沒有條件子句,則會刪除全部    -- 改      UPDATE 表名 SET 欄位名=新值[, 欄位名=新值] [更新條件]  

參考Jioby一千行MySQL學習筆記