mysql日常使用

大綱:


image.png

一. mysql 數據類型

字符:char, varchar, text, set, enum
整數: int, tinyint, smallint, mediumint, bigint
浮點和定點: float double decimal
日期:year, date, time, datetime, timestamp
二進制:沒用過不寫;

注意點:

  1. char和varchar使用
    char長度不可變吉挣,varchar長度可變焰雕;
    char 長度固定 & 查詢速度要求較高淑玫;

  2. set和enum使用
    set可多選苟鸯, enum單選

  3. 浮點使用問題,定點數
    double 精度高于 float ;
    如果精確到小數點10位以上疲扎,double;
    浮點數的精度和操作系統(tǒng)有關昵时;
    float(m,n) m整數位,n小數位

  4. 日期的坑
    注意日期范圍椒丧;
    http://c.biancheng.net/view/2425.html

二. mysql 引擎

InnoDB壹甥,MyISAM,MEMORY
1. 查詢引擎:
  show engines;  
  show variables like 'have%';    #mysql支持的存儲引擎
  show variables like 'storage_engine'; //默認存儲引擎
2. 對比:
  InnoDB: 提供索引壶熏,外鍵句柠,事務能力,奔潰修復能力和并發(fā)控制棒假;缺點是讀寫效率差溯职,占用數據空間相對比較大;
  MyISAM:占用空間小帽哑,不支持事務谜酒,索引;

三. 增刪改查

表數據:
增: insert into student(name, age) values('韓嚴', 25);
刪:delete from student where name = '韓嚴';
改:update student set age = 26 where name = '韓嚴';
查:select * from student where name = '韓嚴';

表結構:
增:alter table student add sex enum('男','女');
刪:alter table student drop sex;
改:
alter table student modify name varchar(20); //修改類型
alter table student change name sname varchar(20); //修改字段名

四. sql查詢高級


image.png
1. 分組查詢 group by / having
select * from student group by class; // 查詢每組只有一個數據妻枕,配合函數使用僻族;
每個班級里年紀最大的:select max(sbirthday) from student group by class;

having: 篩選
select s_name,sum(s_score) from student group by s_name having sum(s_score)>600; 查詢總成績大于600分的學生

2. 連接 join / on 
left join: 以左表為準屡谐,去右表找數據述么,如果沒有匹配的數據,則以null補空位
righr join: 以右表為準愕掏,去左表找數據碉输,如果沒有匹配的數據,則以null補空位
inner join:兩表交集

3. 子查詢
where子查詢:
select * from student where sname in (select sname from score where score > 60); //查詢成績大于60的學生
from子查詢:
select * from class, (select id, name from score where score > 60) as s where class.id = s.id; //查詢成績大于60的學生

五. 索引

創(chuàng)建:
create table index1(
id int,
name varchar(20),
sex boolean,
index(id) //索引
);
查看: show create table index1 \G
測試: explain select * from index1 where id =1 \G
優(yōu)點:提高查詢速度
缺點:占用空間亭珍,創(chuàng)建和維護耗時
image.png

六. 視圖

定義:是從一個或者多個表中導出的表,是一種虛擬表枝哄;
例子:員工和部門數據表肄梨,不同領導可以查看的權限不同,通過視圖領導只能看到本部門員工的指定信息挠锥;
創(chuàng)建:
create view student_view 
as select sno, sname, class from student
查看:show create view student_view\G
優(yōu)點:1. 操作簡單化 2. 增加數據安全性 3. 提供表的邏輯獨立性

七. 觸發(fā)器

通過insert,update,delete等事件出發(fā)特定众羡;
創(chuàng)建:
create trigger stu_trig1 before insert on student for each row
insert into trigger_time values(now());
每次向學生表插入數據前,向trigger表插入當前時間蓖租;
查看:show triggers\G

八. 存儲過程和函數

這個我用的不多粱侣,不熟悉羊壹;就是一個函數存儲了查詢等過程,然后調用

https://www.runoob.com/w3cnote/mysql-stored-procedure.html

九. mysqldump 備份 & 權限管理

備份: mysqldump -uroot -p database student > student.sql
導入: source student.sql
還原:mysq -uroot -p < student.sql
表導出:
mysql -uroot  -pPassword -e 'select * from student'  dbname> student.txt  // xml , html格式

SELECT * FROM test_outfile 
INTO OUTFILE "student.txt" 
FIELDS TERMINATED BY "," ENCLOSED BY '"';

導入:load data local infile "student.txt" into table student lines terminated by ' '; 

十. 事務

特點:一致性齐婴,隔離性油猫,原子性,持久性
begin
commit
rollback

https://www.runoob.com/mysql/mysql-transaction.html

十一. 性能優(yōu)化
explain柠偶, analyze table student情妖, check table student

  1. 優(yōu)化數據庫結構:分表,增中間表诱担,優(yōu)化插入速度(禁用索引毡证,禁用唯一性檢查,一次插入多條數據)
  2. 機器升級
  3. 優(yōu)化查詢蔫仙,索引料睛,子查詢(連接查詢不需要建立臨時表)

其他:
distinct() 去重
order by row desc/asc 排序
group by .. having..
join .. on ..
as 別名
分頁limit

sql執(zhí)行順序: https://blog.csdn.net/csndhu/article/details/88176564
1、FROM  table1 left join table2 on 將table1和table2中的數據產生笛卡爾積摇邦,生成Temp1

2恤煞、JOIN table2  所以先是確定表,再確定關聯條件

3涎嚼、ON table1.column = table2.columu 確定表的綁定條件 由Temp1產生中間表Temp2

4阱州、WHERE  對中間表Temp2產生的結果進行過濾  產生中間表Temp3

5、GROUP BY 對中間表Temp3進行分組法梯,產生中間表Temp4

6苔货、HAVING  對分組后的記錄進行聚合 產生中間表Temp5

7、SELECT  對中間表Temp5進行列篩選立哑,產生中間表 Temp6

8夜惭、DISTINCT 對中間表 Temp6進行去重,產生中間表 Temp7

9铛绰、ORDER BY 對Temp7中的數據進行排序诈茧,產生中間表Temp8

10、LIMIT 對中間表Temp8進行分頁捂掰,產生中間表Temp9

附:https://cnblogs.com/paopaolong/p/7499961.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末敢会,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子这嚣,更是在濱河造成了極大的恐慌鸥昏,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件姐帚,死亡現場離奇詭異吏垮,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門膳汪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來唯蝶,“玉大人,你說我怎么就攤上這事遗嗽≌澄遥” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵媳谁,是天一觀的道長涂滴。 經常有香客問我,道長晴音,這世上最難降的妖魔是什么柔纵? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮锤躁,結果婚禮上搁料,老公的妹妹穿的比我還像新娘。我一直安慰自己系羞,他們只是感情好郭计,可當我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著椒振,像睡著了一般昭伸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上澎迎,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天庐杨,我揣著相機與錄音,去河邊找鬼夹供。 笑死灵份,一個胖子當著我的面吹牛,可吹牛的內容都是我干的哮洽。 我是一名探鬼主播填渠,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鸟辅!你這毒婦竟也來了氛什?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤匪凉,失蹤者是張志新(化名)和其女友劉穎屉更,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體洒缀,經...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了树绩。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片萨脑。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖饺饭,靈堂內的尸體忽然破棺而出渤早,到底是詐尸還是另有隱情,我是刑警寧澤瘫俊,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布鹊杖,位于F島的核電站,受9級特大地震影響扛芽,放射性物質發(fā)生泄漏骂蓖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一川尖、第九天 我趴在偏房一處隱蔽的房頂上張望登下。 院中可真熱鬧,春花似錦叮喳、人聲如沸被芳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽畔濒。三九已至,卻和暖如春锣咒,著一層夾襖步出監(jiān)牢的瞬間侵状,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工宠哄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留壹将,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓毛嫉,卻偏偏與公主長得像诽俯,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子承粤,可洞房花燭夜當晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內容

  • 數據庫基礎知識 為什么要使用數據庫 數據保存在內存 優(yōu)點: 存取速度快 缺點: 數據不能永久保存 數據保存在文件 ...
    carter記錄閱讀 544評論 0 0
  • 數據庫基礎知識 為什么要使用數據庫 數據保存在內存優(yōu)點: 存取速度快缺點: 數據不能永久保存 數據保存在文件優(yōu)點:...
    淺時咣閱讀 337評論 0 1
  • MySQL基礎 數據類型 數據類型是指列暴区、存儲過程參數、表達式和局部變量的數據特征辛臊,它決定了數據的存儲格式仙粱,代表了...
    方穹軒閱讀 212評論 0 2
  • 微信公眾號:云計算通俗講義 持續(xù)輸出技術干貨,歡迎關注彻舰! MySQL技術路線 1. 入門 數據庫入門首選要學會基本...
    程序員姜戈閱讀 2,724評論 0 2
  • 推薦指數: 6.0 書籍主旨關鍵詞:特權伐割、焦點候味、注意力、語言聯想隔心、情景聯想 觀點: 1.統(tǒng)計學現在叫數據分析白群,社會...
    Jenaral閱讀 5,716評論 0 5