標籤:
資料插入
文法:INSERT INTO Table_name(field1,field2……fieldN) values(value1,vlaue2,…valueN)
單行插入使用者類型
INSERT INTO userType(TypeName,TypeDescript) VALUES(‘管理員‘,‘管理員‘)
多行插入使用者類型
INSERT INTO UserType(TYpeName,TypeDescription) VALUES(‘錄入員‘,‘資料錄入員‘),(‘查詢員‘,‘只能做資料查詢操作‘)
插入使用者資訊
INSERT INTO UserInfo(userName,userLogin,USERPassword,UserEmail,UserType) VALUES
(‘張三‘,‘zhangsan‘,‘zhangsan‘,‘[email protected]‘,1),
(‘李四‘,‘lisi‘,‘lisi‘,‘[email protected]‘,2),
(‘王五‘,‘wangwu‘,‘wangwu‘,‘[email protected]‘,1),
(‘趙六‘,‘zhaoliu‘,‘zhaoliu‘,‘[email protected]‘,3),
(‘趙六‘,‘zhaoliu‘,‘zhaoliu‘,‘[email protected]‘,3)
資料刪除
Drop Table table_name
Delete from Table_name [where 條件運算式]
Truncate Table table_name
刪除張三使用者資訊
DELETE FROM UserInfo WHERE UserName=‘張三‘
刪除使用者全部資料
DELETE FROM UserInfo
清空使用者資料表
truncate table userinfo
刪除使用者表
Drop Table UserInfo
Delete 和Truncate 的區別
Truncate 不能帶有where 條件陳述式;
Truncate刪除的資料不可以恢複;比delete速度快。
Delete刪除的資料可以恢複;語句每次刪除一行,並在交易記錄中為所刪除的每行記錄。
Truncate Table:刪除內容、釋放空間但是不刪除定義。
Delete Table:刪除內容不刪除定義,不釋放空間。
Drop Table:刪除內容和定義,釋放空間。
特定條件的資訊不需要了使用delete;如果表格所有資料都不需要了,使用Truncate;如果表本身也不需要了,直接使用Drop
修改
Update table_name set field1=new-value1,field2=new-value2 …[where 條件運算式]
修改語句可以同時更新一個或者多個欄位。
使用where限定條件,大部分時間是需要限定的。
修改第二個名字叫趙六的使用者資訊
UPDATE userinfo SET UserLogin=‘zhaoliu1‘,userPassWord=‘zhaoliu1‘,userEmail=‘[email protected]‘ WHERE id=5
資料查詢
文法:
Select column_name1,column_name2... from table_name [where 條件][group by 屬性名稱 [having 條件運算式]] [order by 屬性[ asc | desc ]] [limit<offset, row count>]
Sql查詢語句中可以使用一個或者多個表進行查詢,並且使用where語句設定查詢條件,查詢的結果為一個集合。
使用星號(*)可以代替其他所有欄位。
Group by 語句:按照【屬性名稱】指定的欄位進行分組
Having :有group by 才能使用having 分組後的二次計算。
Order by:按照【屬性名稱】對指定的欄位進行排序”asc”升序 “desc” 降序;預設為asc
使用Limit屬性來設定返回記錄的條數,下標從0開始,類似於SQL Server 中的top。
查詢樣本:
-- 查詢所有使用者類型
SELECT * FROM userType
-- 查詢所有使用者資訊
SELECT * FROM userInfo
-- 查詢前兩個使用者資訊
SELECT * FROM userInfo LIMIT 0,2
-- 根據使用者編號降序查詢使用者資訊
SELECT * FROM userInfo ORDER BY ID DESC
-- 根據使用者編號升序查詢使用者資訊
SELECT * FROM userInfo ORDER BY ID
-- 查詢姓【王】的使用者資訊
SELECT * FROM userInfo WHERE userName LIKE ‘王%‘
-- 查詢登入名稱中包含【a】的使用者資訊
SELECT * FROM UserInfo WHERE UserLogin LIKE ‘%a%‘
-- 查詢使用者類型為管理員的使用者資訊
SELECT * FROM userInfo WHERE usertype IN(SELECT ID FROM UserType WHERE typename=‘管理員‘ )
-- 查詢每個使用者類型的使用者數量
SELECT (SELECT TypeName FROM UserType WHERE UserType.ID= UserInfo.UserType),COUNT(*) AS TypeNum FROM userInfo GROUP BY UserType
-- 查詢使用者資訊中重名的名字
SELECT UserName FROM userInfo GROUP BY UserName HAVING COUNT(*) > 1
Mysql 資料庫增刪改查