數據庫中表的增刪改查的基本操作命令
2024-07-21 02:51:50
供稿:網友
向數據庫中的表增加數據:insert into 表名 values (,,,,,);(內容要和表的結構字段相符)--------------------------------------------------解決中文亂碼問題:[client]port=3306[MySQL]default-character-set=gbk修改完需要重新啟動服務---------------------------------------------------更新表中的數據:update 表名 set 字段(name)=值(‘zhangqian’),字段=值.......---不加where 指更新所有的記錄update user set salary=3000 where username='班長'; 加where 指更新指定的列-------------------------------------------------------------------update user set salary=4000,job='BOSS' where username='美美';-------------------------------------------------------------------------------刪除表中的數據:delete from 表名 ;刪除表中的所有數據delete from 表名 where 字段 = “值”;刪除指定列的數據truncate 表名; 刪除所有的數據 =======delete from 表名* truncate 和 delete的區別:* truncate刪除數據,先刪除整個表。再創建一個新的空的表。(效率) * delete刪除數據,一條一條刪除的。(*****)----------------------------------------------------------------------選擇表中的數據:select * from 表名 --查詢表中所有的數據select 字段名1,字段名2,字段名3 from 表名; 查詢指定的字段名;select distinct 字段名 from 表名 ; --查詢指定的字段名去除重復的數據select (字段名1+字段名2+字段名3)as 新的字段名 from 表名 ----將字段名1和字段名2 和字段名3 之和作為新的字段名輸出,用as 做別名,as 可省略向數據庫中的表增加數據:insert into 表名 values (,,,,,);(內容要和表的結構字段相符)--------------------------------------------------解決中文亂碼問題:[client]port=3306[mysql]default-character-set=gbk修改完需要重新啟動服務---------------------------------------------------更新表中的數據:update 表名 set 字段(name)=值(‘zhangqian’),字段=值.......---不加where 指更新所有的記錄update user set salary=3000 where username='班長'; 加where 指更新指定的列-------------------------------------------------------------------update user set salary=4000,job='BOSS' where username='美美';-------------------------------------------------------------------------------刪除表中的數據:delete from 表名 ;刪除表中的所有數據delete from 表名 where 字段 = “值”;刪除指定列的數據truncate 表名; 刪除所有的數據 =======delete from 表名* truncate 和 delete的區別:* truncate刪除數據,先刪除整個表。再創建一個新的空的表。(效率) * delete刪除數據,一條一條刪除的。(*****)----------------------------------------------------------------------選擇表中的數據:select * from 表名 --查詢表中所有的數據select 字段名1,字段名2,字段名3 from 表名; 查詢指定的字段名;select distinct 字段名 from 表名 ; --查詢指定的字段名去除重復的數據-------------------------------------------------------------------- select name,(math+english+chinese) as sum from stu; 將字段math,english , chinese 用as 作為一個新的字段sum 輸出 select name,math+10,english+10,chinese+10 from stu;在選擇的時候還可以對某些字段進行修改增刪改,顯示出來----------------------------------------------------------------------在選擇的時候還可以使用where 作為條件查詢select * from 表名 where 查詢條件----------------------------------------------------------------模糊查詢:like% 代表零個或者多個字符_代表一個字符like '%張_' 表示查詢的是張前面可以有零個 或者多個 字符,張后面只能有一個字符---------------------------------------------------查詢英語分數在 80-90之間的同學。 select * from stu where english >80 and english <90;(不包含) select * from stu where english between 80 and 90;(包含)查詢所數學分數為18,78,46的同學 select * from stu where math in (18,78,46);查詢所有姓班的學生 select * from stu where name like '班%'----------------------------------------------------------------order by + 字段名 ,排序,應該在select 子句的結尾升序:asc 或者不寫降序: desc---------------------------------------------------------------聚集函數 count(列名)返回某一列,行的個數之和(總的列的個數或者行數)聚集函數sum (列名) 返回某一列的數值的總和注:sum 僅對數值起作用,對多列求和時,“,”不能少ifnull(xxxxx,0) 如果為null ,則值是0sum(ifnull(math,0)) 如果是空則值為0,如果不是則是math 對應的值------------------------------------------------------------------avg 平均數 select avg(ifnull(math,0)+english+chinese) from stu;avg = sum/count------------------------------------------------------max 最大值select max(math) from stu;min 最小值select min(math) from stu;----------------------------------group by 分組 -- 條件過濾需要用having ,不能使用 where---------------------------------小結 select 語句: select ...... from.....where.....group by......having......order by.....;