mysql数据库语句分类_细数MySQL中SQL语句的分类
1:數(shù)據(jù)定義語(yǔ)言(DDL)
用于創(chuàng)建、修改、和刪除數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)結(jié)構(gòu),如:1:創(chuàng)建和刪除數(shù)據(jù)庫(kù)(CREATE DATABASE || DROP? DATABASE);2:創(chuàng)建、修改、重命名、刪除表(CREATE? TABLE || ALTER TABLE|| RENAME TABLE||DROP? TABLE);3:創(chuàng)建和刪除索引(CREATEINDEX? || DROP INDEX)
2:數(shù)據(jù)查詢(xún)語(yǔ)言(DQL)
從數(shù)據(jù)庫(kù)中的一個(gè)或多個(gè)表中查詢(xún)數(shù)據(jù)(SELECT)
3:數(shù)據(jù)操作語(yǔ)言(DML)
修改數(shù)據(jù)庫(kù)中的數(shù)據(jù),包括插入(INSERT)、更新(UPDATE)和刪除(DELETE)
4:數(shù)據(jù)控制語(yǔ)言(DCL)
用于對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),如:1:給用戶(hù)授予訪問(wèn)權(quán)限(GRANT);2:取消用戶(hù)訪問(wèn)權(quán)限(REMOKE)
問(wèn):什么時(shí)候使用DROP?什么時(shí)候使用DELETE?
答:由上可看出,對(duì)于結(jié)構(gòu)刪除,如數(shù)據(jù)庫(kù)刪除、表刪除、索引刪除等當(dāng)使用DROP;而對(duì)于數(shù)據(jù)的刪除則是DELETE.
管理數(shù)據(jù)庫(kù)和表
1:創(chuàng)建數(shù)據(jù)庫(kù)-----CREATE? DATABASE? 數(shù)據(jù)庫(kù)名
例如:CREATEDATABASE Instant
創(chuàng)建表-----CREATE TABLE 表名(列名? 列數(shù)據(jù)類(lèi)型? );
例如:CREATE TABLE Student(
Id? INT? PRIMART KEY;
Name VARCHAR(50));
注意:如創(chuàng)建本地臨時(shí)表(僅僅在創(chuàng)建臨時(shí)表的連接中可見(jiàn)),在表名前加#;如創(chuàng)建全局臨時(shí)表(對(duì)所有連接可見(jiàn)),在表名前加##;
創(chuàng)建索引-----CREATE INDEX 索引名 ON 表名 (列名。。。);
例如:(非唯一索引)CREATE INDEX NameIndex ON Friend (Nmae);
(唯一索引)CREATE? UNIQUE INDEX NameIndex ON Friend (Name );
2:連接數(shù)據(jù)庫(kù)---USE 數(shù)據(jù)庫(kù)名
例如:USEInstant;
3:刪除數(shù)據(jù)庫(kù)-----DROP DATABASE 數(shù)據(jù)庫(kù)名
例如:DROPDATABASE Instant;
刪除表-----DROP TABLE 表名
例如:DROP TABLE Student;
刪除索引---DROP INDEXFriend.PhoneNoIndex;(需指定表名和索引名)
4:復(fù)制表-----SELECT * FROM My_Friends FROM Friends;(此復(fù)制并不能復(fù)制表的約定)
復(fù)制表結(jié)構(gòu)不復(fù)制數(shù)據(jù):SELECT * FROM My_FriendsFROM Friends WHERE 1=0;
5:修改表-----
1:添加新列。。ALTERTABLE Friends ADD Address VARCHAR(50);
2:更改定義...ALTERTABLE Friends MODIFY Phone DEFAULT('筆者就哦');
3:刪除列。。ALTERTABLE Friends DROP CLOUMN PhoneNo;
保證數(shù)據(jù)完整性
一:分類(lèi):
1:實(shí)體完整性;
2:域完整性;
3:應(yīng)用完整性;
4:用戶(hù)自定義完整性;
二:實(shí)現(xiàn):
1:創(chuàng)建非空約束------NOT NULL
2:設(shè)置主鍵約束------PRIMARY KEY
3:設(shè)置唯一約束-------UNIQUE
4:指定默認(rèn)約束-------DEFAULT
5:設(shè)置檢查約束-------CHECK
6:自動(dòng)編號(hào)列----------IDENTITY
7:外鍵約束----------FOREIGN KEY
使用DML語(yǔ)句更改數(shù)據(jù)
1:插入數(shù)據(jù):(單行)INSERT INTO 表名? 列名 VALUES? 列值;
例如:INSERT INTOStudent (id,name) VALUES? (1,'張三');
(多行)INSERT INTO 表名 列名 SELECT (語(yǔ)句)
例如:INSERT INTOStudent(id,name ) SELECT id+2,name FROM Students;
2:表復(fù)制:SELECT 列名 INTO 新表名? FROM 表名;
例如:SELECT? *? INTOStudent2? FROM? Student;
3:更新數(shù)據(jù):UPDATE 表名 SET 列n = 新值。。 WHERE (過(guò)濾條件);
例如:UPDATE Student SET id = 2,age =20 WHERE name = '張三'
更新來(lái)刪除數(shù)據(jù):UPDATE Student age= NULLWHERE name = '張三'
4:刪除數(shù)據(jù):DELETE FROM 表名 WHERE (過(guò)濾條
例如:DELETE FROMStudent WHERE name = '張三
注:刪除全表數(shù)據(jù)除去過(guò)濾條件即可,也可使用TRUNCATE TABLE 表名
簡(jiǎn)單數(shù)據(jù)查詢(xún)
1:查詢(xún):SELECT 列名 FROM 表名;
例如:SELECT id FROM Student;
查詢(xún)?nèi)頂?shù)據(jù):SELECT * FROM Student;
2: 表名前綴:SELECT Student.id FROM Student;
3:列表別名:SELECT T.列 A? AS? A,T.列B AS B,T.列 C AS C FROM 表 AS T;
4:計(jì)算列:SELECT? id , mark*2 AS MarksFROM Student;
SELECT FirstName +? '? ' +LastName AS FullName FROM Student;
5:排除重復(fù)數(shù)據(jù):SELECT DISTINCT 列A FROM 表名;\
例如:SELECT? DISTINCT name FROM Student;
6:限定行數(shù)查詢(xún):SELECT? TOP? rowCount ColumA,ColumB FROM Table;
例如: SELECT TOP5 id , name FROM Student;
7:條件查詢(xún) WHERE
8:范圍查詢(xún) BETWEEN
9:定義集合關(guān)系 IN
10:模糊查詢(xún) LIKE(單個(gè)字符_? 多個(gè)字符%)
11:空值數(shù)據(jù)控制:SELECT 列A ,列B FROM? 表名 WHERE 列C IS NOT NULL;
SELECT 列A,列B FROM 表名 WHERE 列C IS NULL;
12:排序:升序。。ASC
降序。。。DESC
聚合函數(shù)與分組
1:SELECT COUNT(規(guī)范) FROM 表名;
A:數(shù)目 COUNT
B:總和 SUM
C:平均值A(chǔ)VG
D:最大值MAX
F:最小值 MIN
2:分組 GROUP BY..
3:結(jié)果集處理:SELECT StudentID,AVG(Mark) AS AverageMark FROM StudentExam GROUP BYStudentID HAVING AVG(Mark) <50 OR AVG(Mark)>70;
4:EXISTS;
5:ALL;
6:ANY;
7:UNION;
8:保留重復(fù)行:UNION ALL;
9:交集和差分:INTERSECT EXCEPT
聯(lián)接
1:內(nèi)聯(lián)接:JOIN
2:外連接:1:左外聯(lián):LEFT JOIN或 LEFT? OUTER JOIN
2:右外聯(lián):RIGHTJOIN 或 RIGHT OUTERJOIN
3:全外聯(lián):FULL JOIN 或 FULL OUTER JOIN
以上就是小編為大家?guī)?lái)的細(xì)數(shù)MySQL中SQL語(yǔ)句的分類(lèi)全部?jī)?nèi)容了,希望大家多多支持我們~
本文標(biāo)題: 細(xì)數(shù)MySQL中SQL語(yǔ)句的分類(lèi)
本文地址: http://www.cppcns.com/shujuku/mysql/168777.html
總結(jié)
以上是生活随笔為你收集整理的mysql数据库语句分类_细数MySQL中SQL语句的分类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: android商品mysql_andro
- 下一篇: python多线程框架_Python爬虫