標籤:基本 技術分享 where 資料 limit sts tween book exists
一、資料類型
來源: 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, ‘男‘, ‘女‘) SEXFROM T_USER;
2、逗號拼接
SELECT GROUP_CONCAT(Name)FROM T_UserLIMIT 10;
3、判空
SELECT IFNULL(CardNo, ‘0000‘) CardNoFROM T_UserWHERE Id>10;
4、轉換資料類型
//類型轉換SELECT CAST(Id AS CHAR) FROM T_User; //拼接個Null 字元串,隱式轉換SELECT CONCAT(Id,‘‘) FROM T_User;
5、分頁及統計行數
//方法一SELECT TAB.*, @i TotalFROM (SELECT (@i := @i + 1) AS RowNum, B.* FROM book B, (SELECT @i := 0) AS it ) TABWHERE TAB.RowNum BETWEEN 5 AND 10//方法二:SET @i=0;SELECT TAB.*, @i TotalFROM (SELECT (@i := @i + 1) AS RowNum, B.* FROM book B ) TABWHERE TAB.RowNum BETWEEN 5 AND 10;SET @i:=NULL;
6、時間格式轉換
//yyyy-MM-dd HH:mm:ssdate_format(Birthday, ‘%Y-%m-%d %H:%i:%s‘)
【MYSQL】文法複習