MYSQL 常用語句與函式命令
進圖資料庫mysql –u root –p
輸入密碼後進入
檢視資料庫: show databases;
進入資料庫:use dvwa;
檢視該資料庫的表:show tables;
查操作:
select * from users; 查看錶中的的列
select user from users; 檢視users表中user這列的資訊
select * from users where user=’admin’ ;檢視users表中user=admin的所有資訊
增操作:
Insert into users values ('6','test','test','test','123456', '/root','2018-05-21','1')
改操作:
update users set user=’test01’ where user=’test’; 將user表中user=’test’改為user=’test01’
刪操作:
delete from users where user='test01'; 刪除user=’test01’行的資料
排序:預設升序,安先數字,後字母。
selecet * from users order by user; 將users表中user資料升序排序
select * from users order by user desc; 將users表中user資料降序排序
聯合查詢:
CREATE TABLE users1 SELECT * FROM users; 先將users表資料複製到新表users1中
select user from users union select password from users1;將users表中user欄位的值和users1表中的password欄位的值合併查詢
常用函式:
提取部分字元:
select mid(user,1,3) from users;從users表中提取user的前三個字元:
判斷執行:
select *,if(user=’admin’,’administrator’,’user’) AS role from users;在users表中,如果某一行的user值等於admin,那麼新增新的一列role,並將其賦值為administrator,如果user值不等於admin,則將其賦值為user,結果如下圖
擷取資料庫某一列欄位中的一部分:
select user,substr(user,1,3) from users; 擷取users表中user欄位的前3個字元
返回字串的第一個字元的ASCII碼值:
select ascii('admin');
ORD( )
返回字串str的第一個字元的ASCII碼值
select ord('admin');
CHAR( )
將ASCII值轉換為對應的字元,可將多個ASCII碼轉換為相應的字串
select char(97);
HEX( )
將字串轉換為十六進位制表示:
select hex('admin');
UNHEX( )
HEX( )函式的逆運算,將十六進位制轉換為字串表示
select unhex('61646D696E');
SLEEP( )
讓此SQL語句執行N秒鐘(判斷語句連用)
select *,if(1=2,sleep(2),sleep(3)) from users;
ExtractValue( )
對XML文件進行查詢的函式,從目標XML中返回包含所查詢值的字串
建立一個新表,表的名稱為x,並定義一個doc的欄位,欄位型別為varchar(),欄位長度為150。
create table x(doc varchar(150));
insert into x values('<book><title>A guide to the SQL standard</title><author>
<initial>CJ</initial><surname>Date</surname></author></book>');
select extractvalue (doc,'/book/author/initial') from x;
USER( )
查詢當前使用者名稱和主機名;
select user();
version( )或@@version
查詢當前資料庫的完整版本資訊
select @@version;
database( )
返回當前資料庫名稱
select database();
MD5( )
將字串進行MD5加密
select md5('123456');
left( )
返回字串最左邊的N個字元
select left('admin',2);
concat( )
用於將兩個字串連線起來,形成一個字串
select concat('hello','world');
count( )
返回符合指定條件的行一共有多少行
select count(user) from users;
floor( )
返回向下取整的數字
select floor(1.33);
rand( )
返回一個0和1之間的隨機數,如果包含引數,則根據引數,生成一個固定的值,不再變化。
select rand(),rand(),rand(1),rand(1),rand(2);
&n