天天看點

MySQL關系資料庫基本操作總結

注意:MySQL指令不區分大小寫,可以随意換行,分号作為結束語句

####一、資料庫操作

DATABASES關鍵字可以用SCHEMA關鍵字替代

  • 建立資料庫
CREATE DATABASE IF NOT EXISTS db_name  --IF NOT EXISTS可以省略
DEFAULT CHARACTER SET = charset_name    --指定資料庫字元集,可以省略
DEFAULT COLLATEN = collation_name;		--指定字元集的校對規則
           
  • 選擇資料庫
USE db_name;  --選擇資料庫之後可以進行後續對資料庫的操作 
           
  • 修改資料庫
ALTER DATABASE db_name --選擇資料庫
 alter-specification; --修改語句
           
  • 删除資料庫
DROP DATABASE IF_EXISTS db_name; -- IF EXISTS 可以省略
           
  • 檢視資料庫
SHOW DATABASES LIKE ‘pattern’ WHERE expr;
-- LIKE 用于指定資料庫名稱 WHERE限定資料庫查詢範圍
           
  • 檢視指定資料庫建立資訊
SHOW CREATE DATABASE ‘資料庫名稱’
           

####二、表操作

  • 建立表
CREATE TEMPORARY TABLE tb_name -- TEMPORARY關鍵字表明是臨時表,可以省略,表示為持久表
(
col1_name 資料類型 [列級完整性限制] [DEFAULT 預設值],  
col2_name 資料類型 [列級完整性限制] [DEFAULT 預設值],
...
[表級完整性限制]
)ENGINE = 引擎類型;
-- 引擎類型可以省略,預設值也可以省略
           

常用完整性限制:

主碼限制:PRIMARY KEY

唯一性限制:UNIQUE

非空值限制:NOT NULL

  • 更新表
  • 在表中添加新列
ALTER TABLE tb_name
ADD COLUMN col_name 資料類型 [列級完整性限制] [DEFAULT 預設值];
           
  • 修改表中列的屬性

    整體重定義

ALTER TABLE tb_name
CHANGE COLUMN col_name new_name 資料類型 [列級完整性限制] [DEFAULT 預設值];
           
  • 修改表中列的預設值(操作速度快)
ALTER TABLE tb_name
ALTER COLUMN col_name SET DEFAULT 新預設值; --修改預設值
ALTER COLUMN col_name DROP DEFAULT; --删除預設值
           
  • 修改表中列的屬性和位置
ALTER TABLE tb_name
MODIFY COLUMN col_name new_name 資料類型 [列級完整性限制] [DEFAULT 預設值];
           
  • 删除表中的列
ALTER TABLE tb_name
DROP COLUMN col_name;
           
  • 重命名表
  • RENAME TO子句
ALTER TABLE tb_name
RENAME TO new_name;
           
  • RENAME TABLE 語句
RENAME TABLE tb_name TO new_name
           
  • 删除表
DROP [TEMPORARY] TABLE [IF EXISTS] tb_name;
           
  • 檢視表
  • 檢視表的名稱
SHOW  [FULL(顯示表的類型)] TABLES IN db_name;
           
  • 檢視表的結構
SHOW [FULL(顯示全部資訊)] COLUMNS IN/FROM tb_name IN/FROM db_name; 
           

或者

DESC tb_name;
           

####三、索引操作

  • 建立索引
  • CREATE INDEX語句
CREATE [UNIQUE] INDEX index_name 
ON tb_name (col_name1 [(length)] [ASC/DESC],col_name2 [(length)] [ASC/DESC]...);
           
  • CREATE TABLE語句

    在使用CREATE TABLE語句建立表時直接加入語句建立索引

    • PRIMARY KEY(col_name1,col_name2…);-- 建立主鍵
    • INDEX/KEY [index_name] (col_name1,col_name2…);–建立普通索引
    • FOREIGN KEY [index_name] (col_name1,col_name2…); --建立外鍵
  • ALTER TABLE語句
  • 檢視索引
    SHOW INDEX/KEYS FROM tb_name FROM db_name WHERE expr;
               
  • 删除索引
  • DROP INDEX 語句
DROP INDEX index_name ON tb_name;
           
  • ALTER TABLE語句
ALTER TABLE tb_name
DROP PRIMARY KEY/KEY/INDEX/FOREIGN KEY;
           

####四、資料操作

  • 插入資料
INSERT INTO tb_name [(col_name1,col_name2...)] --括号内為要指派的列名,如果省略則按照表中列的預設順序依次指派
VALUE/VALUES(expr/default,expr/default...),(expr/default,expr/default...)  
-- 括号内為賦給的值,可以是表達式或者是default  預設值,可以一次插入多行
           

指定部分列插入,未指定為預設值

INSERT INTO tb_name SET col_name1=expr1,col_name2=expr2...;
           
  • 删除資料
DELETE FROM tb_name WHERE expr;
           
  • 修改資料

    UPDATE tb_name

    SET col_name1=expr,col_name2=expr…

    WHERE where_condition;

  • 查詢資料
SELECT select_expr1,select
expr2 AS  new_name,```
FROM tb_name WHERE where_condition;
           

繼續閱讀