欢迎来到天天文库
浏览记录
ID:40392247
大小:5.76 MB
页数:170页
时间:2019-08-01
《结构化查询语言1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章结构化查询语言学习创建数据库结构的基本SQL语句学习将数据添加到数据库的基本SQL语句学习单表的基本SQL查询语句学习多表关联的SQL查询语句使用SQL语句修改与删除数据库表中数据使用SQL语句修改与删除数据库表和约束学习使用基本SQL语句创建和使用视图【学习目标】一、基本概念3.1SQL简介SQL(StructuredQueryLanguage,结构化查询语言)——它是一种对数据库进行访问与操作的数据子语言。它嵌入到编程语言(如JAVA、C#等)中执行或在DBMS工具中执行。二、SQL发展20世纪70年代由IBM公司开发1986ANSI的数据库委员会批准了SQ
2、L作为关系型数据库语言的美国标准。1987年国际标准化组织(ISO)将其采纳为国际标准SQL86。1989年更新成为国际标准SQL-891992年更新成为国际标准SQL-92(或称SQL2)1999年更新成为国际标准SQL-99(或称SQL3)2008年更新成为国际标准SQL:2008三、SQL应用情况绝大多数主流的关系型数据库管理系统采用了SQL语言标准OracleSybaseDB2MicrosoftSQLServerAccessMySql。。。其中一些数据库管理系统对SQL语句进行了再开发和扩展,如Sybase、MicrosoftSQLServer将操作语言扩展为
3、Transaction-SQL;Oracle将操作语言扩展为PL/SQL。四、SQL能做什么?SQL可从数据库取回数据SQL可在数据库中插入新的纪录SQL可更新数据库中的数据SQL可从数据库删除记录SQL可创建新数据库SQL可在数据库中创建新表SQL可在数据库中创建存储过程SQL可在数据库中创建视图SQL可以设置表、存储过程和视图的权限数据库DBMS(执行SQL)应用程序返回结果提交SQL五、SQL语言语句类别1.数据操纵语言数据操纵语言(DataManipulationLanguage,DML)是SQL语言中用于查询和增删修改表数据的语句,主要语句如下:SELECT
4、-从数据库表中获取数据UPDATE-更新数据库表中的数据DELETE-从数据库表中删除数据INSERT-向数据库表中插入数据2.数据定义语言数据定义语言(DataDefinitionLanguage,DDL)是SQL语言中用于创建或删除表。也可以定义索引(键),规定表之间的链接,以及施加表间的约束。主要语句如下:CREATEDATABASE-创建新数据库ALTERDATABASE-修改数据库CREATETABLE-创建新表ALTERTABLE-变更(改变)数据库表DROPTABLE-删除表CREATEINDEX-创建索引(搜索键)DROPINDEX-删除索引六、SQL
5、语言程序创建数据库表CUSTOMERCOURSEENROLLMENTDDL插入数据库表CUSTOMERDML七、示例数据库部门(DEPARTMENT)雇员(EMPLOYEE)项目(PROJECT)任务(ASSIGNMENT)工程项目管理列名类型键是否非空备注DepartmentNameText(35)主键是部门名称BudgetCodeText(30)否是预算编号OfficeNumberText(15)否是办公室编号PhoneText(12)否是办公电话部门(DEPARTMENT)表结构1.数据库表结构列名类型键是否非空备注EmployeeNumberInt主键是代理键
6、,雇员编号FirstNameText(30)否是名LastNameText(30)否是姓DepartmentText(35)外键是部门PhoneText(12)否是办公电话EmailText(100)否是邮件雇员(EMPLOYEE)表结构列名类型键是否非空备注ProjectIDInt主键是项目编号NameText(30)否是项目名称DepartmentText(35)外键是部门MaxHoursNumber否是最长工期StartDateDateTime否否开始日期EndDateDateTime否否结束日期项目(PROJECT)表结构列名类型键是否非空备注ProjectI
7、DInt主键,外键是复合键,项目编号EmployeeNumberInt主键,外键是复合键,雇员编号HoursWorkedNumeric(6,2)否否工作时数任务(ASSIGNMENT)表结构列名类型键是否非空备注DepartmentNameText(35)主键是部门名称BudgetCodeText(30)否是预算编号OfficeNumberText(15)否是办公室编号PhoneText(12)否是办公电话列名类型键是否非空备注EmployeeNumberInt主键是代理键,雇员编号FirstNameText(30)否是名LastNameText(3
此文档下载收益归作者所有