国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - MySQL語句整理及匯總介紹

MySQL語句整理及匯總介紹

2019-06-11 11:08sdr_zd服務器之家 Mysql

今天小編就為大家分享一篇關于MySQL語句整理及匯總介紹,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

SQL(Structured Query Language)語句,即結構化查詢語言,是操作和檢索關系數據庫的標準語言。SQL語句一般分為以下幾種:

  1. DCL(Database Control Language,數據控制語言)語句:主要由GRANT和REVOKE兩個關鍵字完成
  2. DDL(Database Definition Language,數據定義語言)語句:主要由CREATE、ALTER、DROP和TRUNCATE四個關鍵字完成
  3. DML(Database Manipulation Language,數據操作語言)語句:主要由INSERT、UPDATE和DELETE三個關鍵字完成
  4. 查詢語句:主要由SELECT語句完成
  5. 事務控制語句:主要由COMMIT、ROLLBACK和SAVEPOINT三個關鍵字完成

注:SQL語句不區分大小寫,所以create和CREATE是相同的

一.DCL語句

DCL語句就是對用戶進行授權和授權收回的操作,可以對不同的用戶的權限進行控制,增加數據庫安全性,進行數據庫的維護。一般都是數據庫管理員使用超級用戶root進行操作。

MySQL的權限命令是grant,權限撤銷的命令時revoke;

1.grant授權格式:

grant 權限列表 on 庫.表 to 用戶名@'ip' identified by "密碼";

2.revoke回收權限格式:

revoke 權限列表 on 庫.表 from 用戶名@'ip';

二.DDL語句

數據庫對象:

表(table)、數據字典、約束(constraint)、視圖(view)、索引(index)、函數(function)、存儲過程(procedure)、觸發器(trigger)

CREATE、ALTER、DELETE關鍵字分別是創建、修改和刪除數據庫對象的,此處使用我們使用最多的對表的操作來舉例

1.CREATE:

CREATE TABLE [模式名.] 表名(
該表中的列定義
);

e.g.

CREATE TABLE test(
StuId VARCHAR(8) PRIMARY KEY,
StuName VARCHAR(30) NOT NULL,
StuAge SMALLINT NOT NULL,
StuBirth DATETIME
);

注:查看表結構:DESCRIBE 表名;

2.ALTER:

1)添加列:

ALTER TABLE 表名
ADD column columnName1 datatype [default expr] [FIRST|AFTER colName];
columnName1:新添加的列名;
datatype:數據類型;
default expr:完整性約束;
FIRST|AFTER colName:插入位置,默認是插入在最后一列,FIRST是在第一列,AFTER colName是在指定列后插入

e.g.

ALTER TABLE test
ADD column StuMajor VARCHAR(20) NOT NULL AFTER StuName;

2)修改列

ALTER TABLE 表名 CHANGE oldName newName datatype; 

e.g.

ALTER TABLE test CHANGE StuBirth Birthday year;

3)刪除列

ALTER TABLE 表名 DROP column columnName;

e.g.

ALTER TABLE test DROP column StuMajor;

4)修改表名

ALTER TABEL 表名 RENAME TO 新表名;

e.g.

ALTER TABLE test RENAME TO student;

3.DROP

刪除表
DROP TABLE 表名;

e.g.

DROP TABLE student;

4.TRUNCATE

刪除表內所有數據但保留表的結構,叫做“截斷”
TRUNCATE TABLE 表名;

e.g.

TRUNCATE TABLE student;

三.DML語句

1.INSERT

標準SQL語句只允許一次插入一條數據,但MySQL對其進行擴展使其可以一次插入多條數據

插入一條數據:

INSERT INTO 表名 VALUES(value1, value2, ...);

插入多條數據:

INSERT INTO 表名 VALUES(value1,value2,...),(value1,value2,...),(value1,value2,...);

e.g.

INSERT INTO student VALUES(‘001','Lisa',20,1997),(‘002','Rose',21,1996);

2.UPDATE

UPDATE 表名 SET COLUMN1 = VALUE1[, COLUMN2 = VALUE2]...
[WHERE CONDITION];

e.g.將所有年齡大于20歲的學生的年齡+1

UPDATE student SET StuAge = StuAge+1 WHERE StuAge>20;

3.DELETE

DELETE FROM 表名 [WHERE CONDITION];

e.g.將所有1997年出生的學生信息刪除

DELETE FROM student WHERE Birthday = 1997;

四.查詢語句

1.單表查詢:

SELECT COLUMN1, COLUMN2...
FROM 數據源
[WHERE CONDITION]
[GROUP BY columnName]
[ORDER BY columnName DESC|ASC]

e.g.將計算機科學專業的學生選出來并按照學號降序排列,只顯示學生姓名

SELECT StuName FROM student 
WHERE StuMajor = 'CS'
ORDER BY StuId DESC;

2.多表查詢:

1)簡單的外連接方式

SELECT VALUE1[,VALUE2]...
FROM tableName1,tableName2
WHERE tableName1.column1 = tableName2.column2[AND ...];
WHERE 后跟的是連接條件和查詢條件

2)自連接:有時需要自己和自己進行連接,叫做自連接

e.g.

有如下的表temp

CREATE TABLE emp(
id INT AUTO_INCRETMENT PRIMARY KEY,
name VARCAHR(255),
mangerId INT,
FOREIGN KEY(managerId) references temp(id)
);

其中有四條記錄

id                     name                 managerId
1                       aaa                        null
2                       bbb                         1
3                       ccc                          1
4                       ddd                         1

對該表進行查詢操作:

SELECT employee.id, employee.name 員工名, manager.name 經理名
FROM emp employee, emp manager
WHERE employee.managerId = manager.id;

該查詢語句使用自連接顯示員工和經理的關系,其中:

  •  employee.name 員工名, manager.name 經理名 員工名和經理名是重命名,在顯示列時顯示員工名和經理名;
  •  FROM emp employee, emp manager 兩個相同的表需要進行區分,起不同的名字;
  •  WHERE employee.managerId = manager.id 是連接條件

五.事務處理

1.事務是由一步或幾步數據庫操作序列組成的邏輯執行單元。

這系列操作要么全部執行,要么全部放棄執行。程序和事務是完全兩種不同的概念。一般而言,一段程序中可能包含多個事務。在MySQL中,有多種引擎,最常用的兩個引擎:InnoDB和MyISAM,其中InnoDB是支持事務的,而MyISAM是不支持的,可以在config配置文件中對其進行修改。

2.事務的四個特性:

  • 原子性(Atomicity):事務是應用中最小的執行單位。
  • 一致性(Consistency):事務執行的結果必須讓數據庫從一個一致性的狀態變成另外一個一致性的狀態。一致性是通過原子性保證的
  • 隔離性(Isolation):各個事務執行相互不干擾。
  • 持續性(Durability):也成為持久性(Persistence),指事務一旦提交,將數據做的任何改變都保存進物理數據庫。

這四個特性也叫ACID性

3.數據庫的事務由一組DML語句、一條DDL語句和一條DCL語句組成

  • DML語句對數據進行操作
  • DDL和DCL都各只有一條,因為DDL和DCL語句都會將事務提交

4.事務的提交:

  • 顯示提交:commit
  • 自動提交:DDL/DCL語句

MySQL默認關閉事務(自動提交),在默認情況下,用戶輸入一條DML語句也會提交該操作,為了開啟事務可以通過以下語句對自動提交進行設置

SET AUTOCOMMIT = {0|1}       0是關閉自動提交(開啟事務),1是開啟自動提交(關閉事務)

5.事務的回滾(rollback)

事務包含的任意一個數據庫操作執行失敗后執行回滾事務,將該事務中進行的操作全部失效。兩種方式:

  • 顯示回滾:rollback
  • 自動回滾:系統錯誤或強行退出

6.例子:

若只是臨時開啟一個事務可以通過:start transaction或begin開啟臨時事務,在其之后的DML語句都不會立即執行,直到出現事務的提交或回滾才結束事務。

e.g.1

BEGIN;
INSERT INTO student VALUES(NULL,'001','aaa');
INSERT INTO student VALUES(NULL,'002','bbb');
INSERT INTO student VALUES(NULL,'003','ccc');
SELECT * FROM student;                ①
ROLLBACK;
SELECT * FROM student;                ②

①語句查詢的結果中包含插入的數據,但如果此時在別的命令行窗口中執行該語句,也不會看到以上的三條數據,體現了事務的隔離性,這三條數據其實并沒有寫入物理數據庫;

在執行了回滾操作后,在②的查詢語句的結果中看不到begin之后的那三條數據

e.g.2

INSERT INTO student VALUES(NULL,'001','aaa');
INSERT INTO student VALUES(NULL,'002','bbb');
SAVEPOINT p;
INSERT INTO student VALUES(NULL,'003','ccc');
SELECT * FROM student;                ①
ROLLBACK TO p;
SELECT * FROM student;                ②

MySQL還提供關鍵字SAVEPOINT設置中間點,可以設置回滾的位置,①處的查詢語句結果中包含三條插入數據的結果,但②處的查詢結果中不包含中間點p之后插入的數據。需要注意的是,回到中間點的回滾不會結束事務。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: jyzz中国jizz十八岁免费 | 久久久91精品国产一区二区三区 | 偷拍第一页 | 欧美高清视频在线观看 | 国产激情久久久久久 | 国产精品久久久久久久久免费桃花 | 91在线一区| 国产精品二区三区 | 99精品国产一区二区三区 | 国产一区二区三区免费观看 | 日韩综合区 | 久久久久9999国产精品 | 成人aⅴ视频 | 欧美第一区 | 午夜影院在线 | 国产99久久精品一区二区永久免费 | 国产欧美在线观看 | 国产欧美日韩综合精品一区二区 | 精品国产乱码一区二区三区 | 黄视频免费观看 | 91精品国产综合久久久久久丝袜 | 久久久国产精品视频 | 国产一区二区三区四区在线观看 | 日日精品 | 一区二区日韩精品 | 欧美激情视频一区二区三区不卡 | 成人高清网站 | 久久精品国产精品青草 | 亚洲成人日韩在线 | 欧美国产日韩一区 | 群p在线观看 | 午夜影视 | 精品美女在线观看视频在线观看 | 国产精品视频在线观看 | 99精品国产一区二区三区 | 亚洲第一黄色 | 成人日韩 | 欧美日韩在线一区 | 动漫羞免费网站中文字幕 | 久久九 | 免费观看一区二区三区 |