mysql知識點

ubuntu啟動mysql、停止mysql、重置mysql服務:

sudo service mysql start

sudo service mysql stop

sudo service mysql restart

連接與斷開客戶端

mysql -h host -u user -p 回車輸入密碼

exit

quit

或者Ctrl+C

數(shù)據(jù)庫操作

查看當前數(shù)據(jù)庫

? ? SELECT DATABASE();

顯示當前時間、用戶名、數(shù)據(jù)庫版本

? ? SELECT now(), user(), version();

創(chuàng)建庫

? ? CREATE DATABASE[ IF NOT EXISTS] 數(shù)據(jù)庫名 數(shù)據(jù)庫選項

? ? 數(shù)據(jù)庫選項:

? ? ? ? CHARACTER SET charset_name

? ? ? ? COLLATE collation_name

查看已有庫

? ? SHOW DATABASES[ LIKE 'PATTERN']

查看當前庫信息

? ? SHOW CREATE DATABASE 數(shù)據(jù)庫名

修改庫的選項信息

? ? ALTER DATABASE 庫名 選項信息

刪除庫

? ? DROP DATABASE[ IF EXISTS] 數(shù)據(jù)庫名

? ? ? ? 同時刪除該數(shù)據(jù)庫相關的目錄及其目錄內(nèi)容

表的操作

創(chuàng)建表

? ? CREATE [TEMPORARY] TABLE[ IF NOT EXISTS] [庫名.]表名 ( 表的結構定義 )[ 表選項]

? ? ? ? 每個字段必須有數(shù)據(jù)類型

? ? ? ? 最后一個字段后不能有逗號

? ? ? ? TEMPORARY 臨時表,會話結束時表自動消失

? ? ? ? 對于字段的定義:

? ? ? ? ? ? 字段名 數(shù)據(jù)類型 [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY] [COMMENT 'string']

表選項

字符集

? ? ? ? CHARSET = charset_name

? ? ? ? 如果表沒有設定,則使用數(shù)據(jù)庫字符集

? 存儲引擎

? ? ? ? ENGINE = engine_name

? ? ? ? 表在管理數(shù)據(jù)時采用的不同的數(shù)據(jù)結構,結構不同會導致處理方式、提供的特性操作等不同

? ? ? ? 常見的引擎:InnoDB MyISAM Memory/Heap BDB Merge Example CSV MaxDB Archive

? ? ? ? 不同的引擎在保存表的結構和數(shù)據(jù)時采用不同的方式

? ? ? ? MyISAM表文件含義:.frm表定義,.MYD表數(shù)據(jù),.MYI表索引

? ? ? ? InnoDB表文件含義:.frm表定義,表空間數(shù)據(jù)和日志文件

? ? ? ? SHOW ENGINES -- 顯示存儲引擎的狀態(tài)信息

? ? ? ? SHOW ENGINE 引擎名 {LOGS|STATUS} -- 顯示存儲引擎的日志或狀態(tài)信息

? 自增起始數(shù)

? ? ? ? AUTO_INCREMENT = 行數(shù)

查看所有表

? ? 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 庫名.表名 (可將表移動到另一個數(shù)據(jù)庫)

? ? ? ? RENAME可以交換兩個表名

? ? ? ? 修改表的字段機構(13.1.2. ALTER TABLE語法)

? ? ? ? ALTER TABLE 表名 操作名

?操作名

? ? ? ? ? ? ADD[ COLUMN] 字段定義? ? ? -- 增加字段

? ? ? ? ? ? ? ? AFTER 字段名? ? ? ? ? -- 表示增加在該字段名后面

? ? ? ? ? ? ? ? FIRST? ? ? ? ? ? ? -- 表示增加在第一個

? ? ? ? ? ? ADD PRIMARY KEY(字段名)? -- 創(chuàng)建主鍵

? ? ? ? ? ? ADD UNIQUE [索引名] (字段名)-- 創(chuàng)建唯一索引

? ? ? ? ? ? ADD INDEX [索引名] (字段名) -- 創(chuàng)建普通索引

? ? ? ? ? ? DROP[ COLUMN] 字段名? ? ? -- 刪除字段

? ? ? ? ? ? MODIFY[ COLUMN] 字段名 字段屬性? ? -- 支持對字段屬性進行修改,不能修改字段名(所有原有屬性也需寫上)

? ? ? ? ? ? CHANGE[ COLUMN] 原字段名 新字段名 字段屬性? ? ? -- 支持對字段名修改

? ? ? ? ? ? DROP PRIMARY KEY? ? -- 刪除主鍵(刪除主鍵前需刪除其AUTO_INCREMENT屬性)

? ? ? ? ? ? DROP INDEX 索引名 -- 刪除索引

? ? ? ? ? ? DROP FOREIGN KEY 外鍵? ? -- 刪除外鍵

刪除表

? ? DROP TABLE[ IF EXISTS] 表名 ...

清空表數(shù)據(jù)

? ? TRUNCATE [TABLE] 表名

復制表結構

? ? CREATE TABLE 表名 LIKE 要復制的表名

復制表結構和數(shù)據(jù)

? ? CREATE TABLE 表名 [AS] SELECT * FROM 要復制的表名

檢查表是否有錯誤

? ? CHECK TABLE tbl_name [, tbl_name] ... [option] ...

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • MYSQL 基礎知識 1 MySQL數(shù)據(jù)庫概要 2 簡單MySQL環(huán)境 3 數(shù)據(jù)的存儲和獲取 4 MySQL基本操...
    Kingtester閱讀 8,061評論 5 115
  • 觀其大綱 page 01 基礎知識 1 MySQL數(shù)據(jù)庫概要 2 簡單MySQL環(huán)境 3 數(shù)據(jù)的存儲和獲取 4 M...
    周少言閱讀 3,255評論 0 33
  • 一、MySQL優(yōu)化 MySQL優(yōu)化從哪些方面入手: (1)存儲層(數(shù)據(jù)) 構建良好的數(shù)據(jù)結構??梢源蟠蟮奶嵘覀僑...
    寵辱不驚丶歲月靜好閱讀 2,654評論 1 8
  • ORA-00001: 違反唯一約束條件 (.) 錯誤說明:當在唯一索引所對應的列上鍵入重復值時,會觸發(fā)此異常。 O...
    我想起個好名字閱讀 5,977評論 0 9
  • 什么是數(shù)據(jù)庫? 數(shù)據(jù)庫是存儲數(shù)據(jù)的集合的單獨的應用程序。每個數(shù)據(jù)庫具有一個或多個不同的API,用于創(chuàng)建,訪問,管理...
    chen_000閱讀 4,144評論 0 19

友情鏈接更多精彩內(nèi)容