詳解SQL中的DQL查詢語言
阿新 • • 發佈:2020-01-09
DQL
DQL:data Query language 資料查詢語言
格式:select[distinct] 欄位1,欄位2 from 表名 where 控制條件
(distinct: 顯示結果時,是否去除重複列 給哪一列去重就在哪一列欄位前加入distinct)
學生表
(1)查詢表中的所有資訊
SELECT * FROM student
(2)查詢表中的所有學生姓名和對應的英語成績
SELECT name,english FROM student
注:可顯示部分欄位,如果顯示哪列資料,就直接寫欄位名稱即可
(3) 過濾表中重複的math成績
SELECT DISTINCT math FROM student;
(4) 建立一個student類 新增屬性id,name,sex,chinese,English,math
並隨機增加5條屬性
select * from student; – 查詢英語在70到75之間的學生的資訊 -- select * from student where english BETWEEN 70 AND 75; – 查詢語文是80或者82或者90分的學生資訊 -- select * from student where chinese IN(80,82,90); – 查詢所有首字母為l的學生的成績 -- select * from student where name like "l%"; – 查詢數學大於80且語文大於80 的同學 -- select * from student where math>80 and chinese>90; – 對數學成績排序後輸出 (預設升序 ASC) -- select * from student order by math; – 對數學成績排序後輸出(降序 DESC) -- SELECT * FROM student order by math DESC; – 指定多個欄位進行排序,先按第一個欄位進行排序,如果相同則按第二個欄位進行排序 -- SELECT * FROM student ORDER BY math DESC,chinese DESC; – WHERE後可以加 ORDER BY -- SELECT * from student where name like "%l" ORDER BY math DESC; – 顯示student 表格中的前3行 SELECT * from student LIMIT 2; – 顯示student 表格中的第3~5行 SELECT * from student LIMIT 2,3; -- 2表示偏移量,3表示顯示的行數
附錄:①在where中經常使用的運算子
注:邏輯運算子優先順序 not>and>or
*②select |{column1|expression、column2|expression,…}from table; select column as 別名 from table;
注:
expression : mysql支援表示式 加減乘除;
as: 表示給某一列起別名;並且as 可以省略;
– 關聯(1對N)
create table customer( id int PRIMARY KEY auto_increment,name varchar (20) not null,adress varchar (20) not null ); create table orders( order_num varchar(20) PRIMARY KEY,price FLOAT not NULL,customer_id int,-- 進行和customer 關聯的欄位 外來鍵 constraint cus_ord_fk foreign key (customer_id) REFERENCES customer(id) ); insert into customer(name,adress) values("zs","北京"); insert into customer(name,adress) values("ls","上海"); SELECT * from customer; INSERT INTO orders values("010",30.5,1); INSERT INTO orders values("011",60.5,2); INSERT INTO orders values("012",120.5,1); SELECT * from orders;
主鍵和唯一標識
unique 唯一性標識
primary key 主鍵 (auto_increment 設定自動增長) -- UNIQUE 表約束 唯一性標識 -- PRIMARY KEY 主鍵 CREATE TABLE t4 ( id INT PRIMARY KEY auto_increment,NAME VARCHAR (20) NOT NULL,gender CHAR (5) NOT NULL,idCard VARCHAR (20) UNIQUE -- UNIQUE 唯一性標識 ); desc t4; insert into t4 (name,gender,idCard) VALUE("zs","man","110"); insert into t4 (name,idCard) VALUE("ls","woman","112");
總結
以上所述是小編給大家介紹的SQL中的DQL查詢語言,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!