資料庫中表的增刪改查的基本操作命令
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 ,則值是0
sum(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.....;