1000行MySQL學(xué)習(xí)筆記

連接MySQL

net start mysql
mysql -h 地址 -p 端口 -u 用戶名 -p 密碼
update mysql.user set password=password('root');

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

-- 查看當(dāng)前數(shù)據(jù)庫
    select database();
-- 顯示當(dāng)前時(shí)間、用戶名、數(shù)據(jù)庫版本
    select now(), user(), version();
-- 創(chuàng)建庫
    create database[ if not exists] 數(shù)據(jù)庫名 數(shù)據(jù)庫選項(xiàng)
    數(shù)據(jù)庫選項(xiàng):
        CHARACTER SET charset_name
        COLLATE collation_name
-- 查看已有庫
    show databases[ like 'pattern']
-- 查看當(dāng)前庫信息
    show create database 數(shù)據(jù)庫名
-- 修改庫的選項(xiàng)信息
    alter database 庫名 選項(xiàng)信息
-- 刪除庫
    drop database[ if exists] 數(shù)據(jù)庫名
        同時(shí)刪除該數(shù)據(jù)庫相關(guān)的目錄及其目錄內(nèi)容

表操作

-- 創(chuàng)建表
    create [temporary] table[ if not exists] [庫名.]表名 ( 表的結(jié)構(gòu)定義 )[ 表選項(xiàng)]
        每個(gè)字段必須有數(shù)據(jù)類型
        最后一個(gè)字段后不能有逗號(hào)
        temporary 臨時(shí)表,會(huì)話結(jié)束時(shí)表自動(dòng)消失
        對(duì)于字段的定義:
            字段名 數(shù)據(jù)類型 [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] 
        [UNIQUE [KEY] | [PRIMARY] KEY] [COMMENT 'string']
-- 表選項(xiàng)
    -- 字符集
        CHARSET = charset_name
        如果表沒有設(shè)定,則使用數(shù)據(jù)庫字符集
    -- 存儲(chǔ)引擎
        ENGINE = engine_name    
        表在管理數(shù)據(jù)時(shí)采用的不同的數(shù)據(jù)結(jié)構(gòu),結(jié)構(gòu)不同會(huì)導(dǎo)致處理方式、提供的特性操作等不同
        常見的引擎:InnoDB MyISAM Memory/Heap BDB Merge Example CSV MaxDB Archive
        不同的引擎在保存表的結(jié)構(gòu)和數(shù)據(jù)時(shí)采用不同的方式
        MyISAM表文件含義:.frm表定義,.MYD表數(shù)據(jù),.MYI表索引
        InnoDB表文件含義:.frm表定義,表空間數(shù)據(jù)和日志文件
        SHOW ENGINES -- 顯示存儲(chǔ)引擎的狀態(tài)信息
        SHOW ENGINE 引擎名 {LOGS|STATUS} -- 顯示存儲(chǔ)引擎的日志或狀態(tài)信息
    -- 數(shù)據(jù)文件目錄
        DATA DIRECTORY = '目錄'
    -- 索引文件目錄
        INDEX DIRECTORY = '目錄'
    -- 表注釋
        COMMENT = 'string'
    -- 分區(qū)選項(xiàng)
        PARTITION BY ... (詳細(xì)見手冊(cè))
-- 查看所有表
    SHOW TABLES[ LIKE 'pattern']
    SHOW TABLES FROM 表名
-- 查看表機(jī)構(gòu)
    SHOW CREATE TABLE 表名    (信息更詳細(xì))
    DESC 表名 / DESCRIBE 表名 / EXPLAIN 表名 / SHOW COLUMNS FROM 表名 [LIKE 'PATTERN']
    SHOW TABLE STATUS [FROM db_name] [LIKE 'pattern']
-- 修改表
    -- 修改表本身的選項(xiàng)
        ALTER TABLE 表名 表的選項(xiàng)
        EG:    ALTER TABLE 表名 ENGINE=MYISAM;
    -- 對(duì)表進(jìn)行重命名
        RENAME TABLE 原表名 TO 新表名
        RENAME TABLE 原表名 TO 庫名.表名    (可將表移動(dòng)到另一個(gè)數(shù)據(jù)庫)
        -- RENAME可以交換兩個(gè)表名
    -- 修改表的字段機(jī)構(gòu)
        ALTER TABLE 表名 操作名
        -- 操作名
            ADD[ COLUMN] 字段名        -- 增加字段
                AFTER 字段名            -- 表示增加在該字段名后面
                FIRST                -- 表示增加在第一個(gè)
            ADD PRIMARY KEY(字段名)    -- 創(chuàng)建主鍵
            ADD UNIQUE [索引名] (字段名)-- 創(chuàng)建唯一索引
            ADD INDEX [索引名] (字段名)    -- 創(chuàng)建普通索引
            ADD 
            DROP[ COLUMN] 字段名        -- 刪除字段
            MODIFY[ COLUMN] 字段名 字段屬性        -- 支持對(duì)字段屬性進(jìn)行修改,不能修改字段名(所有原有屬性也需寫上)
            CHANGE[ COLUMN] 原字段名 新字段名 字段屬性        -- 支持對(duì)字段名修改
            DROP PRIMARY KEY    -- 刪除主鍵(刪除主鍵前需刪除其AUTO_INCREMENT屬性)
            DROP INDEX 索引名    -- 刪除索引
            DROP FOREIGN KEY 外鍵    -- 刪除外鍵

-- 刪除表
    DROP TABLE[ IF EXISTS] 表名 ...
-- 清空表數(shù)據(jù)
    TRUNCATE [TABLE] 表名
-- 復(fù)制表結(jié)構(gòu)
    CREATE TABLE 表名 LIKE 要復(fù)制的表名
-- 復(fù)制表結(jié)構(gòu)和數(shù)據(jù)
    CREATE TABLE 表名 [AS] SELECT * FROM 要復(fù)制的表名
-- 檢查表是否有錯(cuò)誤
    CHECK TABLE tbl_name [, tbl_name] ... [option] ...
-- 優(yōu)化表
    OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...
-- 修復(fù)表
    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] ...
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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