一、數據類型 截圖來源: http://www.runoob.com/mysql/mysql-data-types.html 二、基本語句 1、創建數據表 2、刪除數據表 3、新增數據 4、刪除數據 5、更新數據 6、查詢數據 7、表欄位修改 三、其他函數 1、判斷 2、逗號拼接 3、判空 4、轉換 ...
一、數據類型
截圖來源: http://www.runoob.com/mysql/mysql-data-types.html
二、基本語句
1、創建數據表
//主鍵自增,T_User
CREATE TABLE IF NOT EXISTS `T_User`( `Id` INT UNSIGNED AUTO_INCREMENT, `Name` VARCHAR(100) NOT NULL, `CardNo` VARCHAR(40) NOT NULL, `Birthday` DATE, PRIMARY KEY ( `Id` ) )ENGINE=InnoDB DEFAULT CHARSET=utf8;
2、刪除數據表
DROP TABLE T_School;
3、新增數據
INSERT INTO T_User (Name, CardNo, BirthDay) VALUES('大王', '0001', NOW());
4、刪除數據
//條件刪除
DELETE FROM T_User WHERE Id=3;
//清空表格,自增主鍵不會重置
DELETE FROM T_User;
//或者,自增主鍵重置
TRUNCATE TABLE
T_User;
5、更新數據
UPDATE T_User SET Name='女王', CardNo='NX_01' WHERE Id=4;
6、查詢數據
//查詢表所有數據
SELECT * FROM T_User;
//條件查詢
SELECT * FROM T_User WHERE Id>2 AND Name IS NOT NULL;
//分組
SELECT Name FROM T_User GROUP BY Name;
//排序,預設ASC,順序
SELECT * FROM T_User ORDER BY Id DESC;
//INNER JOIN(內連接,或等值連接:獲取兩個表中欄位匹配關係的記錄。
//LEFT JOIN(左連接:獲取左表所有記錄,即使右表沒有對應匹配的記錄。
//RIGHT JOIN(右連接:與 LEFT JOIN 相反,用於獲取右表所有記錄,即使左表沒有對應匹配的記錄。
SELECT TU.* FROM T_User TU
INNRT JOIN T_School TS ON TS.Id = TU.SchoolId
WHERE TS.`LEVEL` = 1;
//UNION ALL: 返回所有結果集,包含重覆數據
//UNION DISTINCT: 刪除結果集中重覆的數據,預設去重
SELECT Id, Name FROM T_User WHERE ClassName='三年二班'
UNION ALL
SELECT Id, Name FROM T_User WHERE ClassName='三年五班'
//統計
SELECT COUNT(1) FROM T_User;
7、表欄位修改
//新增欄位 ALTER TABLE T_User ADD ClassName VARCHAR(100) NOT NULL; //刪除欄位 ALTER TABLE T_User DROP CardNo; //修改欄位數據屬性 ALTER TABLE T_User MODIFY Name BIGINT NOT NULL DEFAULT 100; //修改欄位名稱 ALTER TABLE T_User CHANGE Name RealName VARCHAR(100);
三、其他函數
1、判斷
SELECT IF(SEX = 1, '男', '女') SEX FROM T_USER;
2、逗號拼接
SELECT GROUP_CONCAT(Name) FROM T_User LIMIT 10;
3、判空
SELECT IFNULL(CardNo, '0000') CardNo FROM T_User WHERE Id>10;
4、轉換數據類型
//類型轉換 SELECT CAST(Id AS CHAR) FROM T_User; //拼接個空字元串,隱式轉換 SELECT CONCAT(Id,'') FROM T_User;
5、分頁及統計行數
//方法一 SELECT TAB.*, @i Total FROM (SELECT (@i := @i + 1) AS RowNum, B.* FROM book B, (SELECT @i := 0) AS it ) TAB WHERE TAB.RowNum BETWEEN 5 AND 10 //方法二: SET @i=0; SELECT TAB.*, @i Total FROM (SELECT (@i := @i + 1) AS RowNum, B.* FROM book B ) TAB WHERE TAB.RowNum BETWEEN 5 AND 10; SET @i:=NULL;
6、時間格式轉換
//yyyy-MM-dd HH:mm:ss date_format(Birthday, '%Y-%m-%d %H:%i:%s')