1. 程式人生 > >MySql基礎2

MySql基礎2

--  查詢 5+7 5*7
SELECT 5+7,5*7;

--  查詢  函式--用到再查詢就好了
-- 檢視當前開啟的資料庫
SELECT DATABASE();
-- 檢視 MySQL版本
SELECT VERSION();
-- 檢視 系統時間
SELECT NOW();
-- 檢視 MySQL登入使用者
SELECT USER();
-- WHERE 條件 : 條件過濾
-- 比較運算子 > >= < <= !=  <> = <=>判斷null

-- 查詢表cms_user 中 編號大於3的記錄
SELECT * FROM cms_user
WHERE
id>3;
-- 查詢表cms_user 中 編號小於等於2的記錄 SELECT * FROM cms_user WHERE id<=2; -- 查詢表cms_user 中 編號不等於2的記錄 SELECT * FROM cms_user WHERE id<>2; -- <=>判斷null -- 給表cms_user 中 編號是 2記錄 address改 null值 UPDATE cms_user SET address=null WHERE id=2; -- 查詢表cms_user 中 address欄位是null值的記錄 SELECT * FROM
cms_user WHERE address<=>null;
-- IS [NOT] NULL 判斷null SELECT * FROM cms_user WHERE address IS null; SELECT * FROM cms_user WHERE address IS NOT null; -- 查詢表cms_user 中 編號2-4的記錄 SELECT * FROM cms_user WHERE id>=2 AND id<=4; SELECT * FROM cms_user WHERE id BETWEEN 2 AND 4; -- 查詢表cms_user 中 編號不在2-4的記錄
SELECT * FROM cms_user WHERE id<2 OR id>4; SELECT * FROM cms_user WHERE id NOT BETWEEN 2 AND 4; -- [NOT] IN(值,值...) (取某幾個不連續的值) -- 查詢表cms_user 中 編號是 2,3,5的記錄 SELECT * FROM cms_user WHERE id IN(2,3,5); SELECT * FROM cms_user WHERE id=2 OR id=3 OR id=5; -- 查詢表cms_user 中 編號不是 2,3,5的記錄 SELECT * FROM cms_user WHERE id NOT IN(2,3,5); SELECT * FROM cms_user WHERE id<>2 AND id<>3 AND id<>5; -- 查詢 表cms_user 中 name 是jerry 、 -- 密碼pwd是123的記錄(兩欄位) SELECT * FROM cms_user WHERE name='jerry' AND pwd='123'; -- 對錶cms_user 中 編號是 2 4 7 9 的記錄 UPDATE CMS_USER SET AGE=22 WHERE ID IN(2,3,5); -- 更改 age為 22 UPDATE cms_user SET age=22 WHERE id IN(2,4,7,9); -- 對錶cms_user 中 編號是 2 4 6 8 的記錄 -- 更改 address為 廣州 UPDATE cms_user SET address='廣州' WHERE id IN(2,4,6,8); -- 查詢 表cms_user 中 編號在 2-7之間 -- 並且 age 大於19記錄 SELECT * FROM cms_user WHERE id>=2 AND id<=7 AND age>19; -- 查詢 表cms_user 中 age 大於19或 address是 -- 廣州的記錄 SELECT * FROM cms_user WHERE age>19 OR address='廣州'; -- 查詢 表cms_user 中 name 中包含 'o'記錄 SELECT * FROM cms_user WHERE name LIKE '%o%'; SELECT * FROM cms_user WHERE name LIKE '%o%'; -- 查詢 表cms_user 中 name 中第二個字母是'o'記錄 SELECT * FROM smc_user WHERE name LIKE '_O%'; SELECT * FROM cms_user WHERE name LIKE '_o%'; -- 查詢 表cms_user 中 name 中最後字母是'o'記錄 SELECT * FROM cms_user WHERE name LIKE '%o'; -- 查詢 表cms_user 中 name 的值是4個字母的記錄 SELECT * FROM cms_user WHERE name LIKE '____'; ------------------------------------------------------------------------------- -- 查詢 對 address 分組的記錄 -- 要求 :顯示 address,每組的人數,每組的最大年齡欄位 SELECT address,COUNT(*),MAX(age) FROM cms_user GROUP BY address; -- 查詢 對 age 分組的記錄 -- 要求 :顯示 age,每組的人數字段 SELECT age,COUNT(*) FROM cms_user GROUP BY age; -- 查詢 對 address 分組的記錄 -- 要求 :顯示 address,每組的人數,每組的最大年齡欄位 -- 要求:顯示每組人數大於等3的記錄 SELECT address,COUNT(*) AS count,MAX(age) FROM cms_user GROUP BY address HAVING count>=3; -- 查詢 2-7的記錄中對 address 分組的記錄 -- 要求 :顯示 address,每組的人數,每組的最大年齡欄位 -- 要求:顯示每組人數大於等3的記錄 SELECT address,COUNT(*) AS count,MAX(age) FROM cms_user WHERE id>=2 AND id<=7 GROUP BY address HAVING count>=3 ORDER BY count DESC; -- 查詢 cms_user 並且對編號降序顯示 SELECT * FROM cms_user ORDER BY id DESC; -- 查詢 cms_user 並且對年齡,id 降序顯示 SELECT * FROM cms_user ORDER BY age DESC,id DESC; -- 查詢 cms_user 表中前3條的記錄數 --公式:$offset=(當前頁-1)*每頁顯示記錄數 SELECT * FROM cms_user LIMIT 0,3; -- WHERE id<=3 準確嗎? -- 不準確 ,如果編號不連續 必須LIMIT 0,3 -- 第一個頁 每頁顯示2條 -- $offset = (1-1)*2 SELECT * FROM cms_user LIMIT 0,2; -- 第二個頁 每頁顯示2條 -- $offset = (2-1)*2 SELECT * FROM cms_user LIMIT 2,2; -- 第三個頁 每頁顯示2條 -- $offset = (3-1)*2 SELECT * FROM cms_user LIMIT 4,2; -- 第四個頁 每頁顯示2條 -- $offset = (4-1)*2 SELECT * FROM cms_user LIMIT 6,2; -- 第五個頁 每頁顯示2條 -- $offset = (5-1)*2 SELECT * FROM cms_user LIMIT 8,2; -- 降序分頁:第一頁 SELECT * FROM cms_user ORDER BY id desc LIMIT 0,2; -- 降序分頁:第二頁 SELECT * FROM cms_user ORDER BY id desc LIMIT 2,2; ------------------------------------------------------------------------------- -- 更新 cms_user 中 address 值 -- 編號 135 值為1 編號2468 值為2 UPDATE cms_user SET address=1 WHERE id IN(1,3,5); UPDATE cms_user SET address=2 WHERE id IN(2,4,6,8); UPDATE cms_user SET address=3 WHERE id IN(7,9); -- 修改 cms_user中address型別為 SMALLINT UNSIGNED NOT NULL ALTER TABLE cms_user MODIFY address SMALLINT UNSIGNED NOT NULL; -- 建立新的表 cms_prov結構 -- 欄位 id pname CREATE TABLE cms_prov( id SMALLINT UNSIGNED KEY AUTO_INCREMENT, pname VARCHAR(30) NOT NULL ); -- 給 cms_prov 新增資訊 INSERT cms_prov(pname) VALUE ('天津'), ('廣州'), ('上海'), ('北京'), ('山東'); -- 查詢 cms_user表資訊 -- 顯示欄位 name,address SELECT name,address FROM cms_user; -- 查詢兩個表聯合查詢 cms_user,cms_prov -- 欄位 cms_user 中id,name ,cms_prov中pname -- 並排序 SELECT u.id,u.name,p.pname FROM cms_user AS u INNER JOIN cms_prov AS p ON u.address = p.id ORDER BY u.id ASC;