细数MySQL中SQL语句的分类
1:数据定义语言(DDL)
用于创建、修改、和删除数据库内的数据结构,如:1:创建和删除数据库(CREATEDATABASE||DROP DATABASE);2:创建、修改、重命名、删除表(CREATE TABLE||ALTERTABLE||RENAMETABLE||DROP TABLE);3:创建和删除索引(CREATEINDEX ||DROPINDEX)
2:数据查询语言(DQL)
从数据库中的一个或多个表中查询数据(SELECT)
3:数据操作语言(DML)
修改数据库中的数据,包括插入(INSERT)、更新(UPDATE)和删除(DELETE)
4:数据控制语言(DCL)
用于对数据库的访问,如:1:给用户授予访问权限(GRANT);2:取消用户访问权限(REMOKE)
问:什么时候使用DROP?什么时候使用DELETE?
答:由上可看出,对于结构删除,如数据库删除、表删除、索引删除等当使用DROP;而对于数据的删除则是DELETE.
管理数据库和表
1:创建数据库-----CREATE DATABASE 数据库名
例如:CREATEDATABASEInstant
创建表-----CREATETABLE表名(列名 列数据类型 <列约束条件>);
例如:CREATETABLEStudent(
Id INT PRIMARTKEY;
NameVARCHAR(50));
注意:如创建本地临时表(仅仅在创建临时表的连接中可见),在表名前加#;如创建全局临时表(对所有连接可见),在表名前加##;
创建索引-----CREATEINDEX索引名ON表名(列名。。。);
例如:(非唯一索引)CREATEINDEXNameIndexONFriend(Nmae);
(唯一索引)CREATE UNIQUEINDEXNameIndexONFriend(Name);
2:连接数据库---USE数据库名
例如:USEInstant;
3:删除数据库-----DROPDATABASE数据库名
例如:DROPDATABASEInstant;
删除表-----DROPTABLE表名
例如:DROPTABLEStudent;
删除索引---DROPINDEXFriend.PhoneNoIndex;(需指定表名和索引名)
4:复制表-----SELECT*FROMMy_FriendsFROMFriends;(此复制并不能复制表的约定)
复制表结构不复制数据:SELECT*FROMMy_FriendsFROMFriendsWHERE1=0;
5:修改表-----
1:添加新列。。ALTERTABLEFriendsADDAddressVARCHAR(50);
2:更改定义...ALTERTABLEFriendsMODIFYPhoneDEFAULT('笔者就哦');
3:删除列。。ALTERTABLEFriendsDROPCLOUMNPhoneNo;
保证数据完整性
一:分类:
1:实体完整性;
2:域完整性;
3:应用完整性;
4:用户自定义完整性;
二:实现:
1:创建非空约束------NOTNULL
2:设置主键约束------PRIMARYKEY
3:设置唯一约束-------UNIQUE
4:指定默认约束-------DEFAULT
5:设置检查约束-------CHECK
6:自动编号列----------IDENTITY
7:外键约束----------FOREIGNKEY
使用DML语句更改数据
1:插入数据:(单行)INSERTINTO表名 列名VALUES 列值;
例如:INSERTINTOStudent(id,name)VALUES (1,'张三');
(多行)INSERTINTO表名列名SELECT(语句)
例如:INSERTINTOStudent(id,name)SELECTid+2,nameFROMStudents;
2:表复制:SELECT列名INTO新表名 FROM表名;
例如:SELECT * INTOStudent2 FROM Student;
3:更新数据:UPDATE表名SET列n=新值。。WHERE(过滤条件);
例如:UPDATEStudentSETid=2,age=20WHEREname='张三'
更新来删除数据:UPDATEStudentage=NULLWHEREname='张三'
4:删除数据:DELETEFROM表名WHERE(过滤条
例如:DELETEFROMStudentWHEREname='张三
注:删除全表数据除去过滤条件即可,也可使用TRUNCATETABLE表名
简单数据查询
1:查询:SELECT列名FROM表名;
例如:SELECTidFROMStudent;
查询全表数据:SELECT*FROMStudent;
2:表名前缀:SELECTStudent.idFROMStudent;
3:列表别名:SELECTT.列A AS A,T.列BASB,T.列CASCFROM表AST;
4:计算列:SELECT id,mark*2ASMarksFROMStudent;
SELECTFirstName+ ' '+LastNameASFullNameFROMStudent;
5:排除重复数据:SELECTDISTINCT列AFROM表名;\
例如:SELECT DISTINCTnameFROMStudent;
6:限定行数查询:SELECT TOP rowCountColumA,ColumBFROMTable;
例如:SELECTTOP5id,nameFROMStudent;
7:条件查询WHERE
8:范围查询BETWEEN
9:定义集合关系IN
10:模糊查询LIKE(单个字符_ 多个字符%)
11:空值数据控制:SELECT列A,列BFROM 表名WHERE列CISNOTNULL;
SELECT列A,列BFROM表名WHERE列CISNULL;
12:排序:升序。。ASC
降序。。。DESC
聚合函数与分组
1:SELECTCOUNT(规范)FROM表名;
A:数目COUNT
B:总和SUM
C:平均值AVG
D:最大值MAX
F:最小值MIN
2:分组GROUPBY..
3:结果集处理:SELECTStudentID,AVG(Mark)ASAverageMarkFROMStudentExamGROUPBYStudentIDHAVINGAVG(Mark)<50ORAVG(Mark)>70;
4:EXISTS;
5:ALL;
6:ANY;
7:UNION;
8:保留重复行:UNIONALL;
9:交集和差分:INTERSECTEXCEPT
联接
1:内联接:JOIN
2:外连接:1:左外联:LEFTJOIN或LEFT OUTERJOIN
2:右外联:RIGHTJOIN或RIGHTOUTERJOIN
3:全外联:FULLJOIN或FULLOUTERJOIN
以上就是小编为大家带来的细数MySQL中SQL语句的分类全部内容了,希望大家多多支持毛票票~