【資料庫】MySQL奇淫技巧(基礎篇)
前言:由於mysql有很多很多“特殊的用法”,在此成其為奇淫技巧,很多用法很冷門,雖然由常用命令拼起來的,但是不是十分常用。對待一些特殊需求查資料都不太描述,這是個很尬的問題,所以在此梳理用到的所有奇淫技巧,當然有新的特殊需求,可以交流學習進一步完善,有任何非議都可以交流。下面是從建表到各種奇淫技巧
《【資料庫】MySQL奇淫技巧(報錯篇)》
文章目錄
1、建庫
SHOW DATABASES; #展示當前資料庫
CREATE DATABASE demo_sql;
【建庫要素】
1、【CREATE DATABASE】 建立資料庫命令
2、【demo_sql】 資料庫名
CREATE DATABASE demo_sql default character set utf8 COLLATE utf8_general_ci;
建立資料庫時可以制定預設編碼及字元序,使用【default character set utf8 COLLATE utf8_general_ci】設定資料庫預設編碼為:【utf8】,字元序為:【utf8_general_ci】
2、建表
SHOW TABLES;#顯示當前資料庫中的表
create table student(id int);
【建表要素】
1、【create table】建立表命令
2、【student】表名
3、【id int】表列及格式
create table student(
id int comment "學生ID" auto_increment primary key,
name varchar(10) comment "學生姓名",
age int comment "學生年齡"
)comment "學生表" CHARSET =utf8;#建立單一主鍵
create table student2(
id int comment "學生ID",
name varchar(10) comment "學生姓名",
age int comment "學生年齡",
primary key(id,name)
)comment "學生表" CHARSET=utf8;#建立聯合主鍵
【關鍵命令說明】
1、【comment】註釋,可以給欄位或者表加註釋,便於後期維護和合作開發
2、【primary key】設定主鍵,上面兩個例子student1是對id設定主鍵,student2對id,name設定聯合主鍵
3、【CHARSET=utf8】設定表編碼(可以和資料庫編碼不一樣)
4、【auto_increment】自增
3、表相關操作
show create table student; #顯示建立表sql
desc student; #顯示錶欄位資訊
drop table student; #刪除表
【關鍵命令說明】
1、【show create table】顯示創表sql命令,後面接表名即可
2、【desc】顯示錶欄位資訊,後面跟表名即可
3、【drop table】刪除表,後面跟表名即可
4、插入資料
insert into student(name,age)
values('曹操',20),
('劉備',25),
('孫權',30),
('周瑜',35),
('關羽',60);
【關鍵命令說明】
1、【insert into】 插入命令
2、【student】表名
3、【(name,age)】此處木有id的原因是,id設定為自增,所以插入是會自動生成id
4、【values】插入值列表,可以跟一個或者多個值列表。使用時拼裝SQL十分方便
5、刪除資料
delete
from student
where id >10 ;
刪除student表中id大於10的內容
【關鍵命令說明】
1、 【delete from + 表名】刪除命令,指定刪除操作對應的表
2、【where + 條件】刪除條件,即刪除表中某條件的記錄
6、修改資料
update student
set age=10
where id >10;
id 大於10的student,age設定為10,貌似有的版本不支援批量修改
【關鍵命令說明】
1、【update + 表名】更新命令,指定更新的表
2、【set 欄位=值】修改命令,修改某個欄位的值
3、【where + 條件】修改條件,即修改表中某條件的記錄
7、查資料(資料庫的核心,也是最具靈活的,在後續篇章中將進一步呈現神奇之處)
select *
from student
where id < 10
查詢student表中id小於10的記錄
【關鍵命令說明】
1、【select *】查詢命令,select後面跟查詢結果(有很多技巧後續慢慢呈現)
2、【from 表名】查詢某個表
3、【where + 條件】查詢條件,即查詢表中某條件的記錄