資料庫常用的sql語句彙總

yucheng1998發表於2019-08-08

資料庫相關

  • 查所有資料庫 show databases;
  • 建立資料庫 create database 資料庫名;
  • 檢視資料庫 show create database 資料庫名; //顯示當初建立這個庫的時候使用什麼樣的sql語句
  • 建立資料庫指定字符集 create database 資料庫名 character set utf8/gbk
  • 刪除資料庫 drop database 資料庫名;
  • 使用資料庫 use 資料庫名;

表相關

  • 建立表 create table 表名(id int,name varchar(10)); //表名區分大小寫
  • 檢視所有表 show tables;
  • 檢視單個表屬性 show create table 表名; //使用的什麼建立語句,可以在後面加\G使描述更清晰
  • 檢視錶欄位 desc 表名;
  • 建立表指定引擎和字符集 create table 表名(id int,name varchar(10)) engine=myisam/innodb charset=utf8/gbk;
  • 刪除表 drop table [if exists] 表名;刪除表(可選擇新增是否存在則刪除)
    在這裡插入圖片描述

約束

  • not null 非空
  • default 預設約束語句,用於約束對應列中的值的預設值,除非預設值為空值,否則不可插入空值
  • unique 唯一約束語句,用於約束對應列中的值不能重複,可以有空值,但只能出現一個空值
  • primary 主鍵 = 唯一 + 非空
  • auto_increment 自動增長,用於系統自動生成欄位的主鍵值
  • foreign key(從表id) reference 主表名(id); 表與表之間建立聯絡

修改表

  • 修改表名 rename table 舊錶名 to 新表名;
  • 修改表名 alter table 舊錶名 rename 新表名
  • 修改欄位資料型別 alter table 表名 modify 欄位名 資料型別
  • 修改表屬性 alter table 表名 engine=myisam/innodb charset=utf8/gbk;
  • 新增表欄位 alter table 表名 add 新欄位名 新資料型別 [約束] [first/after 已存在欄位名];
  • 刪除表欄位 alter table 表名 drop 欄位名;
  • 修改表欄位名和型別 alter table 表名 change 舊欄位名 新欄位名 型別;
  • 修改表的型別和位置 alter table 表名 modify 欄位名 型別 first/after 已存在欄位名;
  • 刪除表 drop table 表名;
  • 更改表的儲存引擎 alter table 表名 engine = 新的儲存引擎;
  • 刪除表的外來鍵約束 alter table 表名 drop foreign key 外來鍵名; //刪除所有的外來鍵之後,才能刪除對應的主鍵所在的表

資料相關

  • 插入資料: insert into 表名 values(5,'xiaoming',null); insert into 表名 (欄位名1,欄位名2...) values (2,'aa'...); insert into 表名 values(5,'xiaoming',null),(5,'xiaoming',null),(5,'xiaoming',null); insert into 表名 (欄位名1,欄位名2) values (2,'aa'),(2,'aa'),(2,'aa');

  • 查詢 select * from 表名; select name from 表名; select * from 表名 where id=10;

  • 修改 update 表名 set 要修改的欄位名=100 where 根據欄位名=10;

  • 刪除 delete from 表名 where 欄位名=10;

相關文章