程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 細數MySQL中SQL語句的分類

細數MySQL中SQL語句的分類

編輯:MySQL綜合教程

細數MySQL中SQL語句的分類。本站提示廣大學習愛好者:(細數MySQL中SQL語句的分類)文章只能為提供參考,不一定能成為您想要的結果。以下是細數MySQL中SQL語句的分類正文


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:修正表-----

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 = '張三'

更新來刪除數據:UPDATE Student age= NULLWHERE name = '張三'

4:刪除數據:DELETE FROM 表名 WHERE (過濾條

例如:DELETE FROMStudent WHERE name = '張三

注:刪除全表數據除去過濾條件即可,也可運用TRUNCATE TABLE 表名

復雜數據查詢
 
1:查詢:SELECT 列名 FROM 表名;
 
例如:SELECT id FROM Student;

查詢全表數據: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中SQL語句的分類全部內容了,希望大家多多支持~

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved