***數據的插入:(增)
insertinto表名(字段列表)values(值列表)
如果不寫字段列表就要為表添加全部的列數據
其實into也可以省略
每次只能插入一條數據
1.如果字段可以為null或有默認值,也可以在添加值的時候使用null/default代替,但不能什么都不填
2.非空字段一定要傳入值
3.插入的值必須要符合表的Check約束
4.所有的字段都可以使用單引號’’如果本來是字符串的值沒有加‘’號,那么會報錯,因為會被當成變量
5.日期值一定要加單引號,如果沒有加也不會報錯,但顯示的是系統默認值1905-6-20
6.如果表沒有設置自動增長標識種子,那么添加字段的值要從id開始也就是標識列開始
***數據更新(數據修改)修改刪除一定需要考慮有沒有條件
語法:
update表名set字段=值/表達式where條件
一般來說可以作為是條件的是主鍵或唯一鍵
1.多條件查詢要用and連接
2.修改多個字段用,號隔開
Null值的處理:
如果要把本來是null值的數據改成別的數據使用isnull不是=號,如下把Person表中是null的電話號碼改成110代碼如下:
updatePersonsetphone=‘110’wherephoneisnull
如果把本來有的數據改成null值的話就用=號賦值就可以,不用用is但賦的這個null值不可以加單引號,大小寫都不要緊如下:
UpdatePersonsetphone=NUllwhereid=3
數據的刪除:只是刪除表的數據行
語法:
Delete【from】表名where條件
1.刪除是一條一條刪除,所有效率低下,它每一次刪除都要將操作寫入到日志文件中,所以效率低下,而且標識列不會從種子值重新計算,而是接著上次刪除最后的標識列,比如刪除了標識列為4的行數據,那么再添加一條數據標識列就從5開始
--truncate刪除方法:
語法:truncatetable表名 --沒有條件
它是一次性刪除整個表這種刪除方式可以只寫入一次日志文件,刪除后標識列會從種子值重新計算如設置的標識種子是1,就從1
數據檢索:數據的搜索也就是查詢--返回虛擬結果集
語法:
select字段列表/*from表列表where條件
eg:select name,age,sex from Student where id=10
添加虛擬結果集的列名:設置列名通過as,也可以用=也就是字段as值如:nameas姓名或name=姓名
--select可以做查詢,也可以賦值和輸出如:
select1輸出的結果是1
select1+1輸出的結果是2
select'1'+1結果也是2
select1+‘1’輸出的結果是2
select‘1’+‘1’輸出的結果是11
只有當加號的兩邊都是字符串時,是字符串連接
一次性插入多條記錄(很少使用,效率太低)
1.將數據移動到新表中新表不能先存在,它是系統自動創建的,它會根據所查詢的列自動生成一個對應的表結構
生成的表結構只保留字段名稱和類型以及標識列屬性,其它的類似于主鍵,唯一鍵,關系等約束都沒有
Select*intonewGradefromgrade
然后在刪除原表數據
Truncatetablegrade
將臨時表的數據移動到已經存在的源表中
--目標表必須已經存在,且查詢出的列的類型和數量必須和已經存在的目標表的結構一致,且不能破壞目標表的數據完整性。
*Insertinto目標表select*from源表
InsertintogradeselectclassnamefromnewGrade
eg:
select*intonewPersonfromPerson
truncatetablePerson
insertintoPersonselectname,agefromnewPerson
注意:也可以用數據的導出和導入
新聞熱點
疑難解答