SQL新增欄位
ALTER table TABLE_NAME(表名) ADD CULUMN `field(欄位)` 資料型別 是否無符號 是否為空 是否設定預設值;
刪除欄位語句
ALTER TABLE TABLE_NAME DROP COLUMN COLUMN_NAME
使用DISTINCT / GROUP BY 進行去重
SELECT DISTINCT 某某欄位 FROM XX表 GROUP BY xx欄位
獲取一個表內2個欄位相同的資料
quantity和take_count
SELECT `id`, `status`, `quantity`, `take_count`
FROM coupon AS a
WHERE
EXISTS ( SELECT quantity, take_count FROM coupon WHERE quantity = a.take_count GROUP BY quantity HAVING count( * ) > 1 )
開放資料庫訪問許可權
開放遠端連線許可權:grant [許可權] on [database.table] to [使用者名稱]@[IP] identified by [密碼];
重新整理許可權:flush privileges;
例子:
grant all privileges on test.* to user@'%' identified by '1234';
意思是,test資料庫的所有表對任意IP地址的user使用者開放所有許可權,登陸密碼是1234。
修改欄位的資料型別
ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
不保險還是用第三方工具進行修改表結構
字母加數字拼接的內容查詢
這裡的卡券號是
varchar
型別的,所以這邊查詢的需求是先輸入一個卡券字首,後面輸入一個去除字首之外的號的起始和結束
比如查詢CS001
~CS020
之間的所有卡號
select * from coupon
where number like 'CS%'
and CONVERT(REPLACE(number, "CS",""),SIGNED) >= 1
and CONVERT(REPLACE(number, "CS", ""),SIGNED) <= 20
語法說明
select * from table where CONVERT(replace(起始卡號, "固定字首", ""),SIGNED) < 查詢的號碼
本作品採用《CC 協議》,轉載必須註明作者和本文連結