好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

SQL基础及浅谈索引原理.docx

37页
  • 卖家[上传人]:gg****m
  • 文档编号:217189981
  • 上传时间:2021-12-01
  • 文档格式:DOCX
  • 文档大小:333.79KB
  • / 37 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • SQL标准语法1、 USE (使用)语法:USE NETBAR功能:使用名为的NETBAR数据库说明:代码优先级高于手动设置2、 CREATE (建立)语法:CREATE DATABASE STUDENT功能:建立名为STUDENT的数据库说明:数据定义语法可用于库的建立、表的建立及其它建立3、 DROP (删除)语法:DROP TABLE STUDENT功能:删除名为STUDENT的表说明:数据定义语法可用于库、表、约束的删除及其它删除4、 TRUNCATE (截断)语法:TRUNCATE TABLE STUDENT功能:删除名为STUDENT表下所有行说明:数据定义语法等同于不带条件的DELETE不可回滚5、 ALTER (修改)语法:ALTER TABLE STUDENTADD SEX CHAR ( 2 )功能:修改名为STUDENT的表添加名为SEX的字段 长度为CHAR类型2字节语法:ALTER TABLE STUDENTDROP COLUMM SEX功能:修改名为STUDENT的表删除名为SEX的字段说明:数据定义语法每条ALTER命令只能执行一次修改操作6.语功语功语功语功语功语CHECK (检查)法能法能法能法能法能法:AGE INT CHECK (AGE>0 AND AGE<100):检查AGE字段是否在1-99之间:AGE INT CHECK (AGE BETWEEN 0 AND 100):同上:EMAIL VARCHAR (20) CHECK (EMAIL LIKE ):检查EMAIL字段是否存在字符%代表耐前后允许有任意字符:TEL VARCHAR (20) CHECK (TEL LIKE [0-9]…[0-9]):检查TEL字段内的数字是否都在0-9之间…省略中间的[0-9]:SEX CHAR (2) CHECK (SEX=甥,OR SEX=女):检查SEX字段是否为“男”或“女”:SEX BIT CHECK (SEX IN (男,,女)) 功能:同上说明:最重要的域完整性约束语法检查约束7、 NOT NULL (非空 必填)语法:NUMBER VARCHAR (20) NOT NULL 功能:NUMBER字段必须填写说明:域完整性约束语法数据约束8、 DEFAULT (默认)语法:PAYMENT VARCHAR (20) DEFAULT 0 功能:PAYMENT字段如不填写 默认为0 说明:域完整性约束语法默认约束9、PRIMARY KEY (主键) 语法:SID VARCHAR (20) PRIMARY KEY功能:SID字段必填设置为主键 语法:SID INTCLASSID VARCHAR (20)PRIMARY KEY (SID, CLASSID)功能:把SID字段和CLASSID字段设置为复合主键说明:实体完整性约束语法不得为空不得重复 复合主键尽量不要频繁使用10、UNIQUE (唯一) 语法:SID VARCHAR (20) UNIQUE功能:SID字段为唯一值说明:实体完整性约束语法不得重复但可以为空11、IDENTITY (标识符)语法:SID INT IDENTITY (1, 1) PRIMARY KEY功能:SID为标识字段起始编号为1每次增长为1设置为主键说明:实体完整性约束语法只能用于整数自动编号12、CONSTRAINT (约束)语法:BEGINTIME DATETIMEENDTIME DATETIMECONSTRAINT CK_BE CHECK ( ENDTIME>BEGINTIME )功能:设置名为CK.BE的约束 检查ENDTIME是否大于BEGINTIME语法:DROP CONSTRAINT CK-BE功能:删除名位CK.BE的约束语法:ALTER TABLE STUDENTADD CONSTRAINT DEF-ADD DEFAULT 北京FOR ADDRESS功能:设置名为DEF-ADD的约束 把ADDRESS设置为默认为。

      北京,说明:单独设置约束可单独删除约束不用更改字段CONSTRAINT搭配DEFAULT需注意特别语法 具体如上示例三 ♦法能法 能 13语功语 功FOREIGN KEY (外键)REFERENCES (关联):SID INT FOREGIN KEY REFERENCES STUDENT (SID):把SID字段设置为STUDENT表中SID字段的外键:ALTER TABLE STUDENT1ADD CONSTRAINT FK.SID FOREGIN KEY ( SID) REFERENCES STUDENT ( SID ) :把STUDETN1表中SID字段设置为STUDENT表中SID字段的外键 在表外 同样可用CONSTRAINT语法单独设立主外键关系说明:引用完整性约束语法插入信息时先主键表后外键表删除信息时先外键 表后主键表删除表时先外键表后主键表14、INSERT (插入)语法:INTSERT INTO STUDENT ( SNAME, AGE, ADDRESS) VALUES ( XXX, 18, BEIJING)功能:向 STUDENT 表中 SNAME,AGE, ADDRESS 字段顺次插入XXX,「18「BEIJING, 的信息语法:INSERT INTO STUDENT VALUES ( ‘XXX’,18, BEIJING)功能:同上如省略原表列名 默认为整行插入标识符字段不用输入 说明:数据操作语法只能以行为单位插入♦法能法15语功语功能语法功能法能法 能 语功语 功SELECT (查询):SELECT*FORM STUDENT:查询名为STUNDENT的表所有字段(环弋表所有字段):SELECT TOP 3 ♦FROM STUDENTWHERE C++>=80 AND C#>=80ORDER BY C++,C#:在表STUDENT查询同时满足C++R80和C#>=80条件的列 并按C++和C# 次序升序排列最后获取前三列信息:SELECT 20 PERCENT *FROM STUDENTWHERE C++<60 OR C#<60ORDER BY C++, C# DESC:在表STUDENT查询满足C++<60或C#<60条件的列 并按C++和C#的次序 降序排列最后获取总信息列的前20%:SELECT SUM (C++) AS SUM FROM STUDENT:查询表STUDENT中C++列之和 结果集生成在名为SUM的字段:SELECT TEAM AVG (SCORE) FROM STUDENTWHERE PERJECT= C#GROUP BY TEAM HAVING AVG ( SCORE) >=60:从表STUDENT中以TEAM为分组条件查询C#的SCORE平均值并筛选出SCORE平均值大于等于60的组:数据操作语法可用于表的查询、字段的查询及其它查询如需选择查询字段在*处替换输入要查询字段ORDER BY语法默认为升序(即ASC)SUM( ) AVG( ) MIN( ) MAX( ) COUNT()属于单行函数 功能分别为求和 求平均求最小求最大计算行数其中前两者仅适用数字型数据后三者 适用所有数据COUNT (*)为统计所有行如果采用GROUP BY分组 则SELECT子句后只能跟随分组条件(即GROUP BY 后条件)和聚合函数只有HAVING能以聚合函数作为条件HAVING只能跟 随GROUP BY出现且只能用与分组相关条件作为后缀条件16、SELECT INTO (查询生成)语法:SELECT*INTO STUDENT1 FROM STUDENT功能:查询表STUNENT内所有数据 并以此数据生成表STUDENT1语法:SELECT SNAME, AGE, ADDRESS INTO STUDENT1 FROM SUTDENT WHERE SID=1 功能:查询表STUNENT内条件为SID=1行的SNAME AGE ADDRESS字段信息 并以 此数据生成表STUDENT1语法:INSERT INTO STUDENT1 ( SNAME, AGE, ADDRESS ) SELECT SNAME AGE ADDRESS FROM STUDENTUPDATE (修改)、法能法能17语功语功功能:从STUDENT中查询SNAME AGE ADDRESS的字段信息 并插入STUDENT1中 对应的SNAME AGE ADDRESS字段中:UPDATE STUDENT SET ADDRESS= BEIJING WHERE SID=3:把STUDENT表中条件为SID=3的行中ADDRESS字段修改为〈BEIJING,:UPDATE STUDENT SET AGE= 18, SNAME= ‘XXX’ WHERE SNAME IS 1WLLSNAME 字:把STUDENT表中SNAME字段为空的行中AGE字段修改为<18, 段修改为XXX,说明:数据操作语法修改表中字段也可为空字段赋值18、DELETE (删除)语法:DELETE FROM STUDENT WHERE SID=1功能:删除表STUDENT中条件为SID=1的列的数据说明:数据操作语法删除整行数据19、INNER JOIN (内连接)语法:SELECT STUDENT. SNAME, SCORE. SCORE, SCBJECT. SCBJECTFROM STUDENTINNER JOIN SCORE ON STUDENT. SID=SCORE. SIDINNER JOIN SCBJECT ON STUDENT.SID=SCBJECT. SIDWHERE SCORE.SCORE>=60功能:内连接STUDENT表、SCORE表和SCBJECT表查询三个表中共有SID字段 且满足SCORE>=60的行说明:内连接为多表查询最常用的连接方法20、LEFT\RIGHT\FULL\CROSS JOIN (外连接)语法:SELECT STUDENT. SNAME, SCORE. SCOREFROM STUDENT LEFT JOIN SCOREON STUDENT. SID=SCORE. SID功能:左外连接STUDENT表和SCORE表 查询SCORE表中没有的数据和SCORE表与STUDENT表共有的数据语法:SELECT STUDENT. SNAME, SCORE. SCOREFROM SCORE RIGHT JOIN STUDENTON STUDENT. SID=SCORE. SID功能:右外连接SCORE表和STUDENT表 功能同上 说明:左外连接和右外连接没有明确界定完全取决于主表在语法中的位置而确定是左外连接和右外连接完全连接和交叉连接语法与左外连接右外连接相同 替换关键字LEFT\RIGHT为FULL\CROSS即可 完全连接为查询两个表中共有的信息和 非共有的信息交叉查询为交叉为前表的每行信息与后表的每行信息依 次查询交叉查询所得信息行数为两表行数之积索引原理木章内容并不是针对数据库专家或是那些想快速找到答案的读者。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.