mysql常用資料庫語句

2021-07-26 15:30:48 字數 3333 閱讀 2780

解決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 ...