1. MySQL插入數據數據庫
語法: INSERT INTO table_name(field1,field2,field3,...fieldN) VALUES (value1,value2,value3,...valueN,)數組
若是數據是字符型,必須使用單引號或者是雙引號,如"value"。網站
如: insert into student(username, age, sex, height) values("mengli", 26, 2, 165);spa
2. MySQL查詢數據.net
2.1 語法:SELECT column_name,column_name FROM table_name [WHERE Clause] [LIMIT N][OFFSET M]3d
如下語句將取出學生表的所有記錄:blog
如:select * from student;排序
有時取出全部信息數據量太大,浪費內存。好比只想查詢全部同窗的名字,則能夠指定要查詢的字段: SELECT username FROM student;內存
2.2. DISTINCT關鍵字字符串
使用DISTINCT關鍵字能夠指定某一列或者多列不重複,語法爲:SELECT DISTINCT fields FROM table_name,
這樣一來緊跟在DISTINCT後面的列將排重後顯示出來,優先保留排在前面的行。
如:SELECT DISTINCT username FROM student;
結果:
3. MySQL WHERE 子句
該指令用於篩選由SELECT指令查詢出的數據,自己不能夠單獨使用。
語法:SELECT field1,field2,...filedN from table_name1, table_name2...WHERE表達式(表達式由列,運算符值組成。)
列指的是表內規定好的列,運算符包括:=, !=,<,>,<=,>=,BETWEEN...AND...區間運算符,表示在某個閉區間內,LIKE 搜索運算符,搜索某個模式。
知道上述規則後,經過列、運算符和值的不一樣組合,就能夠實現篩選。
如想查找60分以上的學生的ID和名字,SQL語句爲:SELECT id,name, FROM student WHERE score >60;
BETWEEN AND 運算符
這是一個比較特殊的運算符,表示在某個區間內。好比要查詢分數在 60 和 70 分之間的學生 ID 和名字,SQL 語句爲: SELECT id, name FROM student WHERE score BETWEEN 60 AND 70;
LIKE 運算符
該運算符通常用於搜索,表示包含某個值。LIKE後跟的值中應使用通配符「%」表示任意字符串。
「%」放在值前表示以某值結尾,放在值後表示以某值開頭,開頭和結尾都有表示只要包含某個值就能夠。
好比想搜索名字中包含文的學生ID和姓名,SQL 語句爲: SELECT id, name FROM student WHERE name like '%文%'。
多個條件
WHERE 支持後跟多個篩選條件(即表達式),多個表達式之間能夠有兩種邏輯關係,
以下: AND 表示邏輯與關係,即當 AND 左右的表達式都成立時才篩選出 OR 表示邏輯或關係,當 OR 兩邊有一個表達式成立時就篩選出
以下 SQL 語句查詢大於 20 歲且分數在 60 分以上的學生 ID 和姓名: SELECT id, name FROM student WHERE age > 20 AND score > 60
4. UPDATE
UPDATE table_name SET 列 = 值 (修改後的內容) WHERE 表達式
值、WHERE、表達式的語法同上。假設如今想修改陳文豪的成績爲 99,SQL 語句以下: UPDATE student SET score = 99 WHERE id = 1
修改數據時若是不指定 WHERE 子句將修改整個表的數據,所以 WHERE 子句必定要準確無誤。以下語句的功能是將年齡超過 20 歲的學生分數統一修改成 100: UPDATE student SET score = 100 WHERE age > 20
5.DELETE
刪除數據,須要 WHERE 指令配合,若是不使用 WHERE 子句將刪除全表數據,語法爲: DELETE FROM table WHERE 表達式
假設想刪除陳文豪的數據,SQL 語句以下: DELETE FROM student WHERE id = 1
若是想刪除全部分數高於 60 分的學生,SQL 語句以下: DELETE FROM student WHERE score > 60
6. ORDER BY 該關鍵字用來給查詢到的結果排序。
ORDER BY 後跟一個或多個列,表示要根據某列排序,同時支持 ASC 和 DESC 關鍵字。
語法爲: SELECT fields FROM table WHERE 表達式 ORDER BY 列名 關鍵字
ASC 關鍵字 根據 ASCII 標準順序排序,即數字從 0-9,字母從 a-z 排序。默認就是使用這種順序,所以該關鍵字能夠省略。
DESC 關鍵字 倒序排序。
以下語句實現根據分數正序查詢學生的 ID 和姓名: SELECT id, name FROM student ORDER BY score
倒序排序則爲: SELECT id, name FROM student ORDER BY score DESC
還能夠和 WHERE 配合使用,好比查詢分數高於 60 分的學生 ID 和姓名,
按分數正序排列: SELECT id, name FROM student WHERE score > 60 ORDER BY score
ORDER BY 容許同時指定多個列,使用英文逗號隔開,根據順序若是前邊的列值相等,則按後一列排序
如: SELECT id, name FROM student WHERE score >= 60 ORDER BY score, age
上述 SQL 語句首先查詢出分數大於等於 60 分的學生,同時根據分數和年齡正序排序。因爲張大彪和費德勒都是 60 分,再根據年齡排序,得出張大彪在前的順序。
這是 MySQL 獨有的關鍵字,不在 SQL 標準中。用於截取查詢結果的某一區間,每每在 SQL 語句的末尾。LIMIT 後跟兩個整數參數,中間使用英文逗號隔開,語法如 下: SELECT fields FROM student LIMIT 值1,值2
其中第一個值表示從查詢到的數據第 X+1 行(和數組下標同樣第一行爲 0)開始,第二個值表示繼續保留 X 行數據。
第二個值能夠忽略,當只輸入第一個值時表示截取前 X 行數據。
使用 SELECT 查詢出的結果每每很大,爲了精簡無用信息咱們使用 WHERE 作進一步的篩選,
但有時候每每只須要篩選到的一部分數據,這時就要用到 LIMIT 關鍵字。 網站中常見的分頁功能就是使用 LIMIT 實現。
以下 SQL 將查詢 3 個學生出來: SELECT id, name FROM student LIMIT 3
以下 SQL 將查詢分數前三名學生的 ID 和姓名,原理是先根據分數排名,而後取中前三條數據
如: SELECT id, name FROM student ORDER BY score LIMIT 3
也能夠取出第四名和第五名,以下語句中表示從第 4 行開始(3+1)取兩行
SELECT id, name FROM student ORDER BY score LIMIT 3, 2
SELECT COUNT(*) FROM Persons
8. 聯合查詢
聯合查詢是SQL規範中比較複雜的部分。關係型數據庫以關係模型爲基礎,表與表之間存在着某種關係能夠相互聯繫,想要查找兩個或多個表中有聯繫的數據時,就須要聯合查詢。聯合查詢便可以分爲外鏈接,內鏈接,全鏈接。內鏈接使用JOIN關鍵字,外鏈接又分爲左鏈接和右鏈接,分別使用LEFT JOIN和 RIGHT JOIN關鍵字,全鏈接使用FULL JOIN關鍵字。
1. display: box
https://blog.csdn.net/weixin_30681615/article/details/95422242