進圖數據庫mysql –u root –pmysql
輸入密碼後進入sql
查看數據庫: show databases;數據庫
進入數據庫:use dvwa;ide
查看該數據庫的表:show tables;函數
查操做:ui
select * from users; 查看錶中的的列加密
select user from users; 查看users表中user這列的信息3d
select * from users where user=’admin’ ;查看users表中user=admin的全部信息blog
增操做:排序
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);