解決too many connections問題
select concat('kill ',id,';') from information_schema.processlist
檢視最大連線數
show variables like 'max_connections';
臨時設定成500
set global max_connections=500;
刪除某列首位空格 - trim函式
update tablename set columnname = trim(columnname)
字串擷取
如: 將 "賓至如歸:(bīnzhìrúguī)" 擷取成 "賓至如歸"
select left(columnname, 4) from tablename where id = 230;
計算字串長度 - length函式
select * from tablename where length(columnname) > 12
字串擷取
示例: 擷取 愛(ài)別(bié)離(lí)苦(kǔ) , 將中文和拼音分別擷取出來
擷取 愛別離苦
select concat(left(columnname,1),
left(substring_index(columnname,')',-4),1),
left(substring_index(columnname,')',-3),1),
left(substring_index(columnname,')',-2),1))
from tablename
擷取 ài bié lí kǔ
select concat(
substring_index(substring_index(columnname,'(',-4),')',1),' ',
substring_index(substring_index(columnname,'(',-3),')',1),' ',
substring_index(substring_index(columnname,'(',-2),')',1),' ',
substring_index(substring_index(columnname,'(',-1),')',1)
)from tablename
error : you can't specify target table 'm' for update in from clause
原語句:
update idiom_info m, idiom_info_copy n
set m.spell = n.spell
where m.idiom = n.idiom and m.id in(
select id from idiom_info where id not in(select id from idiom_info where spell like '% %')
)
更改後:
update idiom_info m, idiom_info_copy n
set m.spell = n.spell
where m.idiom = n.idiom and m.id in(
select x.id from
(select id from idiom_info where id not in(select id from idiom_info where spell like '% %')) x
)
將in後面的語句外麵包了一層, 將其作為乙個臨時表x, 再查詢這個臨時表的id
條件判斷
select *,(case when ***='1' then '男' when ***='0' then '女' else '保密' end) as ***_text
from user
order by ***_text desc
行數
select t.*,
@rownum := @rownum + 1 as rank
from your_table t,
(select @rownum := 0) r
在進行數值加減的時候, 要注意到null的這種情況
1. 在設計初, 如果涉及到值加減, 需要將其預設值設定為0, 不要預設, 預設是null
2. 如果無法改變, 在查詢時, 需要使用ifnull函式將其轉為0, 再進行計算, 因為:
null - 100 = null
100 - null = null
正確使用應該為: ifnull(charge_total,0), 如果charge_total為null只, 則取值0
在與null進行concat時, 結果都為null
select concat(100,null) from dual
查詢資料庫版本:
mysql> select @@version;
金額保留2位小數
select format(money/100,2) from dual
int和timestamp格式時間相互轉換
select unix_timestamp(create_time) from jp_bank_info
1492677330
select from_unixtime('1492677330') from dual;
2017-04-20 16:35:30.000000
修改mysql使用者密碼
登入伺服器的mysql客戶端
# mysql -uroot -p
修改使用的資料庫
mysql> use mysql;
更新使用者root的密碼
mysql> update user set password = password('newpassword') where user = 'root';
提交修改
mysql> flush privileges;
mysql資料庫常用語句 mysql資料庫常用語句
最近在做ecshop發現mysql忘了一大堆,複習一下。name資料庫 name1 1 依次類推 create database name character set utf8 建立資料庫及編碼方式 一鍵式建立 crate database name 建立資料庫 show databases 檢視資...
mysql資料庫常用SQL語句
1.給資料庫新增乙個字段 alter table pre common member field home 表名 add stickblogs 欄位名 varchar 50 資料型別 2.刪除資料庫的乙個字段 alter table param info 表名 drop column channel...
mysql資料庫常用語句
mysql u root p set character set client gbk set character set results gbk alter database mydb1 character set utf8 create database mydb1 character set ...