1. 程式人生 > >數據庫 之 數據查詢(DQL語句)

數據庫 之 數據查詢(DQL語句)

dql

DQL:Data Query Language,數據查詢語言

SELECT

.SELECT col1,col2,... FROMtbl_name[WHERE clause]

[ORDER BY ‘col_name‘[DESC]] [LIMIT [m,]n];

Limit m,n跳過m個,要n個

如以下語句跳過2個,取接下來的三個數值

MariaDB [sunny]> select* from fenshu order by englishlimit2,3;

+----+------+--------+-------+---------+

| id | name | gender |math| english |

+----+------+--------+-------+---------+

| 22 | cd| m|99 |89.00 |

| 10 | tom| NULL| 60.05 |90.00 |

| 16 | lin| NULL| 60.05 |90.00 |

以下語句表示將表fenshu中english這一列分數大於88的id,name,english這三列篩選出來

select id,name,englishfrom fenshu where english > 88;

.字段表示法:

*:所有字段

as:字段別名,col1 ASalias1

親自as這個關鍵字可以不寫,如name姓名

例子如下

select id as學號,name as姓名,english

as英語from fenshu where english > 88;

也可以給表起別名,一般用於多表查

%是通配符,表示任意字符,下劃線通配符,表示支持單個字符

rlike表示支持正則表達式,如果不支持正則表達式,就不能用.*表示所有的值

例子

MariaDB [sunny]> select* from fenshu where name like "ti.*";

Empty set (0.00 sec)

MariaDB [sunny]> select* from fenshu where name rlike "ti.*";

+----+------+--------+------+---------+

| id | name | gender |math | english |

+----+------+--------+------+---------+

| 23 | tim| f|80 |78.00 |

| 26 | tiac | f|80 |78.00 |

+----+------+--------+------+---------+

2 rows in set (0.00 sec)

多表的連接

selectd.id,d.t4,s.math,s.english from datetb d,score s where d.id=s.id;

DQL語句

.WHERE clause:

操作符:

>, <, >=, <=,==, !=

==判斷相等,用兩個等號來表示

BETWEEN ... AND ...

LIKE:

%:任意長度的任意字符

_:任意單個字符;

RLIKE:正則表達式模式匹配

IS NULL,IS NOT NULL

IN(val1,val2,…)

select * from score t where t.english in(88,90,70) order by t.english desc;

條件邏輯操作:

and,or,not

示例

.DESC students;

.INSERT INTO students

VALUES(1,‘tom‘,‘m‘),(2,‘alice‘,‘f‘);

.INSERT INTOstudents(id,name) VALUES(3,‘jack‘),(4,‘allen‘);

.SELECT * FROM studentsWHERE id < 3;

.SELECT * FROM studentsWHERE gender=‘m‘;

.SELECT * FROM studentsWHERE gender IS NULL;

.SELECT * FROM studentsWHERE gender IS NOT NULL;

.SELECT * FROM studentsORDER BY name DESC LIMIT 2;

.SELECT * FROM studentsORDER BY name DESC LIMIT 1,2;

.SELECT * FROM studentsWHERE id >=2 and id <=4

.SELECT * FROM studentsWHERE BETWEEN 2 AND 4

.SELECT * FROM studentsWHERE name LIKE ‘t%’

.SELECT * FROM studentsWHERE name RLIKE ‘.*[lo].*‘;

.SELECT id stuid,name as stuname FROM students


本文出自 “陽光運維” 博客,請務必保留此出處http://ghbsunny.blog.51cto.com/7759574/1970192

數據庫 之 數據查詢(DQL語句)