SQL对大小写不敏感。
DDL[2]DDL操作对象为库、表、视图或索引,不涉及具体数据。
操作对象创建删除修改数据库CREATEDATABASEDROPDATABASE表CREATETABLEDROPTABLEALTERTABLE索引CREATEINDEXDROPINDEX视图CREATEVIEWDROPVIEWDML[3]DML涉及具体数据。
增INSERTINTOTB(name,age)VALUES("John",18);#插入单行INSERTINTOnewTB(newName,newAge)SELECTname,ageFROMTB;#将现有表添加至已有新表中SELECTINTOnewTBFROMTBWHEREnameNOTIN("赵","钱","孙","李");#将现有表添加至新建表中删
DELETEFROMTBWHEREage=18;#删除TRUNCATETABLETB;#删除全表
Q:TRUNCATETABLE与DELETE*FROM有什么区别?A:TRUNCATETABLETB直接释放数据页,效率更高。DELETE*FROM则是按行删除数据,速度较慢。
改UPDATETBSETage=20where(LEFT(name,1)ISNOTNULL)OR(YEAR(birth)BETWEENAND);查
应避免使用*,以免资源浪费。
MySQL将空值当作最小值,Oracle将空值当作最大值。
SELECTDISTINCTTOP5PERCENTAVG(age)as"平均年龄"FROMTBWHEREnameLIKE"_晓%[三明$]"GROUPBYcityHAVINGage=18ORDERBYnameDESC;DCL[4]
DCL针对数据库权限管理。
GRANTPRIVILEGESONDB.*TOroot
localhostIDENTIFIEDBY"password";#授权REVOKEDELETEONDB.TBFROMrootlocalhost;#取消授权?AskMore...[1]SQL:结构化查询语言。
[2]DDL:数据定义语言。
[3]DML:数据操作语言。
[4]DCL:数据控制语言。
-END-Senkita