《MYSQL數據庫細數MySQL中SQL語句的分類》要點:
本文介紹了MYSQL數據庫細數MySQL中SQL語句的分類,希望對您有用。如果有疑問,可以聯系我們。
MYSQL教程1:數據定義語言(DDL)
?
用于創建、修改、和刪除數據庫內的數據結構,如:1:創建和刪除數據庫(CREATE DATABASE || DROP? DATABASE);2:創建、修改、重命名、刪除表(CREATE? TABLE || ALTER TABLE|| RENAME TABLE||DROP? TABLE);3:創建和刪除索引(CREATEINDEX? || DROP INDEX)
?
2:數據查詢語言(DQL)
?
從數據庫中的一個或多個表中查詢數據(SELECT)
?
3:數據操作語言(DML)
?
修改數據庫中的數據,包括插入(INSERT)、更新(UPDATE)和刪除(DELETE)
?
4:數據控制語言(DCL)
?
用于對數據庫的訪問,如:1:給用戶授予訪問權限(GRANT);2:取消用戶訪問權限(REMOKE)
?
問:什么時候使用DROP?什么時候使用DELETE?
?
答:由上可看出,對于結構刪除,如數據庫刪除、表刪除、索引刪除等當使用DROP;而對于數據的刪除則是DELETE.
?
管理數據庫和表
?
1:創建數據庫-----CREATE? DATABASE? 數據庫名
?
例如:CREATEDATABASE Instant
?
創建表-----CREATE TABLE 表名(列名? 列數據類型? <列約束條件>);
?
例如:CREATE TABLE Student(
?
Id? INT? PRIMART KEY;
?
Name VARCHAR(50));
?
注意:如創建本地臨時表(僅僅在創建臨時表的連接中可見),在表名前加#;如創建全局臨時表(對所有連接可見),在表名前加##;
?
創建索引-----CREATE INDEX 索引名 ON 表名 (列名...);
?
例如:(非唯一索引)CREATE INDEX NameIndex ON Friend (Nmae);
?
(唯一索引)CREATE? UNIQUE INDEX NameIndex ON Friend (Name );
?
2:連接數據庫---USE 數據庫名
?
例如:USEInstant;
?
3:刪除數據庫-----DROP DATABASE 數據庫名
?
例如:DROPDATABASE Instant;
?
刪除表-----DROP TABLE 表名
?
例如:DROP TABLE Student;
?
刪除索引---DROP INDEXFriend.PhoneNoIndex;(需指定表名和索引名)
?
4:復制表-----SELECT * FROM My_Friends FROM Friends;(此復制并不能復制表的約定)
?
復制表結構不復制數據:SELECT * FROM My_FriendsFROM Friends WHERE 1=0;
?
5:修改表-----
MYSQL教程1:添加新列..ALTERTABLE Friends ADD Address VARCHAR(50);
?
2:更改定義...ALTERTABLE Friends MODIFY Phone DEFAULT('筆者就哦');
?
3:刪除列..ALTERTABLE Friends DROP CLOUMN PhoneNo;
?
保證數據完整性
?
一:分類:
?
1:實體完整性;
?
2:域完整性;
?
3:應用完整性;
?
4:用戶自定義完整性;
?
二:實現:
?
1:創建非空約束------NOT NULL
?
2:設置主鍵約束------PRIMARY KEY
?
3:設置唯一約束-------UNIQUE
?
4:指定默認約束-------DEFAULT
?
5:設置檢查約束-------CHECK
?
6:自動編號列----------IDENTITY
?
7:外鍵約束----------FOREIGN KEY
?
使用DML語句更改數據
?
1:插入數據:(單行)INSERT INTO 表名? 列名 VALUES? 列值;
?
例如:INSERT INTOStudent (id,name) VALUES? (1,'張三');
?
(多行)INSERT INTO 表名 列名 SELECT (語句)
?
例如:INSERT INTOStudent(id,name ) SELECT id+2,name FROM Students;
?
2:表復制:SELECT 列名 INTO 新表名? FROM 表名;
?
例如:SELECT? *? INTOStudent2? FROM? Student;
?
3:更新數據:UPDATE 表名 SET 列n = 新值.. WHERE (過濾條件);
?
例如:UPDATE Student SET id = 2,age =20 WHERE name = '張三'
MYSQL教程更新來刪除數據:UPDATE Student age= NULLWHERE name = '張三'
MYSQL教程4:刪除數據:DELETE FROM 表名 WHERE (過濾條
MYSQL教程例如:DELETE FROMStudent WHERE name = '張三
MYSQL教程注:刪除全表數據除去過濾條件即可,也可使用TRUNCATE TABLE 表名
MYSQL教程簡單數據查詢
?
1:查詢:SELECT 列名 FROM 表名;
?
例如:SELECT id FROM Student;
MYSQL教程查詢全表數據: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:計算列:SELECT? id , mark*2 AS MarksFROM Student;
?
SELECT FirstName +? '? ' +LastName AS FullName FROM Student;
?
5:排除重復數據:SELECT DISTINCT 列A FROM 表名;\
?
例如:SELECT? DISTINCT name FROM Student;
?
6:限定行數查詢:SELECT? TOP? rowCount ColumA,ColumB FROM Table;
?
例如: SELECT TOP5 id , name FROM Student;
?
7:條件查詢 WHERE
?
8:范圍查詢 BETWEEN
?
9:定義集合關系 IN
?
10:模糊查詢 LIKE(單個字符_? 多個字符%)
?
11:空值數據控制:SELECT 列A ,列B FROM? 表名 WHERE 列C IS NOT NULL;
?
SELECT 列A,列B FROM 表名 WHERE 列C IS NULL;
?
12:排序:升序..ASC
?
降序...DESC
?
聚合函數與分組
?
1:SELECT COUNT(規范) FROM 表名;
?
? A:數目 COUNT
?
? B:總和 SUM
?
? C:平均值AVG
?
? D:最大值MAX
?
? F:最小值 MIN
?
2:分組 GROUP BY..
?
3:結果集處理: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:保留重復行:UNION ALL;
?
9:交集和差分:INTERSECT EXCEPT
?
聯接
?
1:內聯接:JOIN
?
2:外連接:1:左外聯:LEFT JOIN或 LEFT? OUTER JOIN
?
2:右外聯:RIGHTJOIN 或 RIGHT OUTERJOIN
?
3:全外聯:FULL JOIN 或 FULL OUTER JOIN
MYSQL教程以上就是小編為大家帶來的細數MySQL中SQL語句的分類全部內容了,希望大家多多支持維易PHP~
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/3422.html