07--MySQL自学教程:DQL(Data Query Language:数据库查询语言)简介、基础查询、条件查询、模糊查询以及排序(一)
1. DQL(Data Query Language:數據庫查詢語言)知識點概覽
DQL(Data Query Language:數據庫查詢語言):
用來查詢數據(記錄),不會對數據進行改變,而是讓數據庫發送結果集給客戶端概覽:
2.基本語法
select 列名1,列名2…….列名n from 表名 where 條件 group by 列名 having 條件 order by 列名;
這個SQL語句包含了DQL部分所有的查詢知識點。簡單點說,只要記住這句話,查詢部分的語法基本就都掌握了。
下面我們將對各個部分分開進行詳細說明。
3.查詢方法概覽
創建一個數據庫和表格,方便查詢演示。代碼如下:
這里我是使用SQLyog創建的表格,使用cmd命令窗口也可以直接執行下列語句,后面的所有演示都是使用該軟件寫的,方便進行說明和注釋
-- 創建數據庫和表格方便演示使用 CREATE DATABASE queryDemo; -- 創建數據庫queryDemo USE queryDemo; -- 進入queryDemo數據庫 -- 在queryDemo中創建表格demo1Student CREATE TABLE demo1Student(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(20),age INT,score INT);-- 插入數據 INSERT INTO demo1Student (NAME,age,score) VALUES ("張三",18,89); INSERT INTO demo1Student (NAME,age,score) VALUES ("李四",23,77); INSERT INTO demo1Student (NAME,age,score) VALUES ("王五",19,69); INSERT INTO demo1Student (NAME,age,score) VALUES ("趙六",18,89); INSERT INTO demo1Student (NAME,age,score) VALUES ("田七",20,92); INSERT INTO demo1Student (NAME,age,score) VALUES ("小明",22,85); INSERT INTO demo1Student (NAME,age,score) VALUES ("小紅",25,97);4.基礎查詢
代碼演示
-- 1.1查詢所有列: SELECT * FROM demo1Student; -- 1.2查詢指定列: SELECT id,NAME FROM demo1Student; SELECT NAME,age,score FROM demo1Student;效果圖:
SELECT * FROM demo1Student;
SELECT id,NAME FROM demo1Student;
SELECT NAME,age,score FROM demo1Student;
5.條件查詢
代碼演示
-- 條件查詢 運算符 關鍵字-- 1.運算符 =、!=、<>、<、<=、>、>=;-- 這些都是普通的數學運算符,就就不做說明了, <>:表示不等于SELECT * FROM demo1Student WHERE id=5;SELECT * FROM demo1Student WHERE age!=18;SELECT * FROM demo1Student WHERE age<>18;SELECT * FROM demo!student WHERE score>90;SELECT NAME,age FROM demo1Student WHERE NAME="張三";-- 2.BETWEEN…AND; IN(set); IS NULL; IS NOT NULL; AND;OR;NOT-- 在...之間 與set集合交集 是否為空 是否為非空 并且 或 非SELECT * FROM demo1Student WHERE id BETWEEN 2 AND 4; -- id在2到4之間的學生-- in(set):指與數據庫中數據與set的交集,獲得包含有set中數據的記錄(行)SELECT * FROM demo1Student WHERE age IN(25,22,30);SELECT * FROM demo1Student WHERE NAME IN ("小","張三","哈哈");-- 檢驗null, 所以添加一個新數據INSERT INTO demo1student VALUES (8,"小花",20,NULL);SELECT * FROM demo1Student WHERE score IS NULL; -- 分數為空的學生SELECT * FROM demo1Student WHERE score IS NOT NULL; -- 分數不為空的學生SELECT * FROM demo1Student WHERE age=18 AND score>78; SELECT * FROM demo1Student WHERE age=22 OR age=25; SELECT * FROM demo1Student WHERE NOT age=18; -- age不是18歲的學生運行結果:
運算符
SELECT * FROM demo1Student WHERE id=5;
SELECT * FROM demo1Student WHERE age!=18;
SELECT * FROM demo1Student WHERE age<>18;
SELECT * FROM demo1student WHERE score>90;
SELECT NAME,age FROM demo1Student WHERE NAME=”張三”;
關鍵字
SELECT * FROM demo1Student WHERE id BETWEEN 2 AND 4; – id在2到4之間的學生
– in(set):指與數據庫中數據與set的交集,獲得包含有set中數據的記錄(行)
SELECT * FROM demo1Student WHERE age IN(25,22,30);
SELECT * FROM demo1Student WHERE NAME IN (“小”,”張三”,”哈哈”);
SELECT * FROM demo1Student WHERE score IS NULL; – 分數為空的學生
SELECT * FROM demo1Student WHERE score IS NOT NULL; – 分數不為空的學生
SELECT * FROM demo1Student WHERE age=18 AND score>78;
SELECT * FROM demo1Student WHERE age=22 OR age=25;
SELECT * FROM demo1Student WHERE NOT age=18; – age不是18歲的學生
6.模糊查詢
代碼演示
-- 3.模糊查詢-- _ 任意一個字符SELECT * FROM demo1student WHERE age LIKE "2_";SELECT * FROM demo1student WHERE age LIKE "_8";SELECT * FROM demo1student WHERE NAME LIKE "小_";-- %:任意0~n個字符SELECT * FROM demo1student WHERE age LIKE "%8";SELECT * FROM demo1student WHERE NAME LIKE "%小%";運行結果
– _ 任意一個字符
SELECT * FROM demo1student WHERE age LIKE “2_”;
SELECT * FROM demo1student WHERE age LIKE “_8”;
SELECT * FROM demo1student WHERE NAME LIKE “小_”;
– %:任意0~n個字符
SELECT * FROM demo1student WHERE age LIKE “%8”;
SELECT * FROM demo1student WHERE NAME LIKE “%小%”;
7.排序
代碼演示
-- 4.排序order by -- 升序ascSELECT * FROM demo1student WHERE score>80 ORDER BY score ASC;-- 降序descSELECT * FROM demo1student WHERE score>80 ORDER BY score DESC;運行結果
– 升序asc
SELECT * FROM demo1student WHERE score>80 ORDER BY score ASC;
– 降序desc
SELECT * FROM demo1student WHERE score>80 ORDER BY score DESC;
8.其他四種排序見下節
地址:http://blog.csdn.net/baidu_37107022/article/details/72627463
總結
以上是生活随笔為你收集整理的07--MySQL自学教程:DQL(Data Query Language:数据库查询语言)简介、基础查询、条件查询、模糊查询以及排序(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一张图看透JavaScript原型关系:
- 下一篇: linux cmake编译源码,linu