电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数据库粗略归纳-第三章

8页
  • 卖家[上传人]:pu****.1
  • 文档编号:480389411
  • 上传时间:2023-03-31
  • 文档格式:DOCX
  • 文档大小:15.65KB
  • / 8 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第三章一、基本定义和操作1.SQL(1)DDL:数据定义语言(定义数据库中的对象)对表和视图的操作:创建CREATE TABLE ; 修改ALTER TABLE; 删除DROP TABLE; CREATE VIEW; (P80)(2)DML:数据操纵语言(操纵数据)增删改查:INSERT; DELETE; UPDATE; SELETE;(3)DCL:数据控制语言(控制安全性)GRANT; REVOKE;-SQL动词:P782 创建表(P82)CREATE TABLE (- 定义字段 () NOT NULL , () NOT NULL .- 定义约束,CONSTRAINT ();GO-约束类型:- 1.主键 PRIMARY KEY, PK_- 2.外键 FOREIGN KEY, FK_- 3.检查 CHECK, CK_- 4.唯一 UNIQUE, UN_- 5.默认值 DEFAULT, DF_例子:1.CREATE TABLE student(- 定义字段Sno char(10) NOT NULL PRIMARY KEY, -主键约束Sname varchar(20) NOT NULL,

      2、Ssex nchar(1),Sbirth datetime2,Sdept varchar(10),- 定义约束CONSTRAINT CK_student_ssex CHECK(Ssex=男 OR Ssex=女) -检查)GOCONSTRAINT 和约束名是可省的。2.CREATE TABLE course(Cno CHAR(4) PRIMARY KEY, -主键约束,其中PK也能放在后面单独写Cname CHAR(40) NOT NULL,Cpno CHAR(4),Ccredit SMALLINT, FOREIGN KEY(Cpno) REFERENCES Course(Cno) -Cpno先行课是外码,引用Course中的Cno。)GO3.CREATE TABLE score(Sno char(10) NOT NULL FOREIGN KEY REFERENCES student(Sno), -外键Cno char(10) NOT NULL,Grade int CHECK(Grade=0 AND Grade=100), -检查PRIMARY KEY(Sno, Cno) -主键)GO3

      3、 修改表(P85)ALTER TABLEADD COLUMN完整性约束ADDDROPCOLUMNCASCADE|RESTRICTDROP CONSTRAINTRESTRICT|CASCADEALTER COLUMN; -修改原有的列定义(P82)CASCADE和RESTRICT选其一:CASCADE(级联):如果指定了CASCADE短语,则自动删除引用了该列的其他对象,比如视图;RESTRICT(限制):如果指定了RESTRICT短语,则如果该列被其他对象引用,RDBMS将拒绝删除该列。例子:ALTER TABLE Student ADD S_entrance DATE;- 修改表,增加一列,数据类型为日期型ALTER TABLE scoreADD CONSTRAINT FK_score_cno_course_cno FOREIGN KEY(Cno) REFERENCES course(Cno)GO- 修改表,添加外键约束ALTER TABLE courseADD UNIQUE(Cname)GO- 修改表,添加唯一约束ALTER TABLE studentADD DEFAULT 男 F

      4、OR SsexGO- 修改表,添加默认值约束4 删除表(P85)DROP TABLERESTRICT|CASCADE;若选择RESTRICT,则该表的删除是有限制条件的,若被其他表的约束所引用,则不能删除。若选择CASCADE,则没有限制条件。例子:DROP TABLE studentGO5 创建索引(P85)CREATE UNIQUECLUSTERINDEXON(, );各列之间用逗号分隔。次序:ASC(升序),DESC(降序)例子:CREATE UNIQUE INDEX Stusno ON Student(Sno);CREATE UNIQUE INDEX SCno ON SC(Sno ASC ,Cno DESC);二、数据查询1 基本格式(P89)SELECT ALL|DISTINCT,FROM,()ASWHEREGROUP BYHAVINGORDER BYASC|DESC; DISTINCT:去掉重复数据2.简单查询如:SELECT Sno,SnameFROM Student;列出表中所有数据:*或列出所有列名。SELECT中的字段也可以是表达式、字符串常量、函数。如果字段名为关

      5、键字,加上。如:SELECT Sname,2014-Sage (AS)Birthday -定义别名,AS可省FROM Student;SELECT *,DATEDIFF(yy,Sbirth,GETDATE() -得到当前日期和时间FROM Student;DATEDIFF(datepart,startdate,enddate)返回start至end之间的差3.条件查询常用的查询条件:比较 : = , ,= , = , != , , ! , ! , NOT+上述运算符确定范围 : BETWEEN AND, NOT BETWEEN AND确定集合 : IN, NOT IN字符匹配 : LIKE, NOT LIKE空值 : IS NULL, IS NOT NULL多值条件 : AND, OR ,NOT空值查询:SELECT Sno,CnoFROM SCWHERE Grade IS NULL;“IS” 不能用=替代。模糊查询:NOTLIKE ESCAPE如果查询的字符串本身含有通配符,就要用ESCAPE进行转义。如:SELECT Cno,CcreditFROM CourseWHERE Cnam

      6、e LIKE db_Design ESCAPE; -表示“”为换码字符,这样紧跟在后的_不再具有通配符的含义,转义为普通字符。通配符:%:任意长度的字符串_:任意单个字符如果LIKE后面的匹配串中不含通配符,则可以用=运算符取代LIKE谓词,用!=或(不等于)运算符取代NOT LIKE。多值查询:AND的优先级高于OR,但可以用括号改变优先级。IN是多个OR的缩写。4.统计查询、聚合函数COUNT(*) 统计元组个数COUNT(DISTINCT|ALL) -统计一列中值的个数SUM(DISTINCT|ALL) -计算一列值的总和AVG(DISTINCT|ALL) -计算一列值的平均值MAX(DISTINCT|ALL) -求一列值中的最大值MINDISTINCT|ALL) -求一列值中的最小值注:WHERE子句不能用聚合函数,聚合函数只能用于SELECT子句和GROUP BY中的HAVING子句。5.分组统计SELECT SnoFROM SCGROUP BY SnoHAVING COUNT (*)3;先GROUP BY子句分组,再用聚合函数对每一组计数,HAVING给出条件,只有计数大于

      7、3的组才会被选出来。WHERE和HAVING的区别(1) 作用不同:筛选表中原始数据;对分组统计结果进行筛选。(2) 位置不同:FROM后面;GROUP BY后面(3) 顺序不同:分组之前执行;统计结果之后(4) 用法不同:后通常不用聚合函数;后通常用聚合函数表达式WHERE作用于基本表或视图,从中选择满足条件的元组。HAVING短语作用于组,从中选择满足条件的组。6.连接查询1. 等值连接与非等值连接一般格式:.BETWEEN.AND.当连接运算符为=时,称为等值连接。例如:SELECT Student.*,SC.*FROM Student,SCWHERE Student.Sno=SC.Sno;如果属性名在参加连接的各表中是唯一的,则可以省略表名前缀。2自身连接一个表与其自己进行连接。例如:为Course表取两个别名,FIRST和SECOND。SELECT FIRST.Cno,SECOND.CpnoFROM Course FIRST,Course SECONDWHERE FIRST.Cpno=SECOND.Cno;3.外连接连接:(1) 内连接:INNER JOIN 只会列出两张表中都有的数据(2) 外连接:会列出某一张表中所有数据1 左外:LEFT JOIN2 右外3 交叉:笛卡尔积4 全外:FULL JOIN4.多表连接SELECT Student.Sno,Sname,Cname,GradeFROM Student,SC,CourseWHERE Student.Sno=SC.Sno AND SC.Cno=Course.Cno;三、数据更新1.插入INSERT INTO(,)VALUES(,);如:INSERTINTO Student(Sno,Sname,Ssex,Sdept,Sage)VALUES(2012222,陈冬,男,IS,18);字符串常数要用单引号括起来。只指出表名,顺序与表中一致。CREATE TABLE p

      《数据库粗略归纳-第三章》由会员pu****.1分享,可在线阅读,更多相关《数据库粗略归纳-第三章》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.