SQL基礎學習筆記
一、基本操作

創(chuàng)建數(shù)據(jù)庫:createdatabasedatabas_name;
創(chuàng)建表:createtabletable_name(var_name1var_type,var_name2var_type,...);
查看表格式:desctable_name;
刪除表:droptabletable_name;
查看數(shù)據(jù):select*fromtable_name;
添加數(shù)據(jù):intotable_name(column_name1,column_name2,...)
value('value1','value2',...);
選擇數(shù)據(jù):selectcolumns_namefromtable_name
whereconditions;
更改數(shù)據(jù):updatetable_name
setcolumn_name1=value1,column_name2=value2(可以用表達式,如x=x+1)
whereconditions;
刪除數(shù)據(jù):fromtable_name
whereconditions;
增加列:altertabletable_name(也可用于修改其它的表的特性)
addcolumncolumn_namevar_type(first/last/after/beforecolumn_name2(指定列位置));
改變列數(shù)據(jù)類型:altertabletable_name
changecolumncolumn_name_oldcolumn_name_newvar_type_new,
modifycolumncolumn_namevar_type_new
排序:orderbycolumn_name(desc)
改特征值分組:groupbycolumn_name
復制表:createtablenew_table_nameas
select*fromold_table_name
二、細節(jié)設置和高級命令
限定不允許Null:列數(shù)據(jù)類型加上notnull
限定賦值范圍:列數(shù)據(jù)類型加上check
列取默認值:列數(shù)據(jù)類型加上defaultvalue
主鍵設定:主鍵特征類型設定為notnull,可以加auto_increment實現(xiàn)自動遞增
聲明主鍵:primarykey(column_name)
限制查詢數(shù)量:limitnumber/number1,number2
聲明外鍵:constraintconstraint_name
foreignkey(column_name)
referenceforeign_column_name(column_name)
聯(lián)接,給出兩列所有的組合可能:
selectname1.column_name1,name2.column_name2
fromtable_name1asname1
crossjoin
table_name2asname2(as可以不寫)
自然聯(lián)接,要求聯(lián)接的表中名稱相同的列要有相同的值,才會選擇:naturaljoin
外聯(lián)接,給出不僅給出滿足條件的項,還會列出其中一個表中不滿足條件的項,而另一個表對應的數(shù)據(jù)為Null
子查詢,即中間暫存變量,以括號內(nèi)給出的select語句作為外層查詢的輸入。據(jù)稱所有使用子查詢的地方都可以用聯(lián)接來實現(xiàn)
合并,將多次選擇得到的結果合并起來:union
視圖,即將查詢做成函數(shù),方便調(diào)用:
createviewview_nameas
selectcolumn_namesfromtable_namewhereconditions
事務,要求一組數(shù)據(jù)操作要都一起完成,否則則都不進行,防止同時多方對表進行操作
starttransaction;%事務開始
……
rollback;%放棄上面的操作,回到操作前的狀態(tài)
commit;%完成事務
三、選擇時的條件表達
正則表達式:likeexpr
范圍選。篿n(value_name1,value_name2,...)
betweenvalue1andvalue2
四、表格設計原則
第一范式:1)數(shù)據(jù)要具有原子性,即每個特征只有一個值,且特征之間不能是同類,比如不應該設置特征為興趣1,興趣2,興趣3...
2)每一行,既每個事例必須要有一個唯一的識別項,即主鍵
多表:利用多張表來使數(shù)據(jù)表符合第一范式,用專屬表來專門處理具有多個值的特征,以外鍵將表關聯(lián)起來
第二范式:1)符合第一范式
2)不存在部分函數(shù)依賴,即非主鍵特征依賴于組合主鍵的一部分而非全部,只要使用人工主鍵(與數(shù)據(jù)無關的id)作為主鍵即可
第三范式:1)符合第二范式
2)不存在傳遞函數(shù)依賴,即非主鍵特征之間不存在依賴
[SQL基礎學習筆記]
【SQL基礎學習筆記】相關文章:
SQL Server的介紹簡介07-22
師德師風學習筆記07-27
零基礎英語學習計劃10-17
零基礎英語學習音標10-15
基礎小學數(shù)學學習方法10-19
基礎小學語文學習方法10-17
零基礎英語學習計劃范文08-24
經(jīng)濟法基礎學習備考建議07-12
學習會計基礎的方法10-28