资源描述:
《2关系数据库标准语言--sql》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、关系数据库标准语言--SQL李静SQL语言的产生发展1974IBM1986美国国家标准局美国标准1987国际标准化组织ANSI1992SQL21999SQL3SQL语言的特点SQL是高度非过程化的语言(指出要干什么)SQL是采取面向集合操作方式的语言SQL具有一种语法,两种使用方式(交互式和嵌入式)符合人的思维习惯,结构简单,易学易用SQL语言的功能数据定义(Create,Alter,Drop)数据查询(Select)单表查询多表查询附加功能数据更新数据插入(Insert)数据删除(Delete)数据修改(Update)
2、数据控制(Grant,Commit,Rollback)SQL是一种标准,但是…SQL是一门ANSI的标准计算机语言,用来访问和操作数据库系统。不幸地是,存在着很多不同版本的SQL语言,但是为了与ANSI标准相兼容,它们必须以相似的方式共同地来支持一些主要的关键词(比如SELECT、UPDATE、DELETE、INSERT、WHERE等等)。除了SQL标准之外,大部分SQL数据库程序都拥有它们自己的私有扩展!SQL扩展语言T-SQLPL/SQL数据定义数据类型SmallINT短整数类型2个字节存储INT整数类型4个字节存储R
3、EAL实数类型4个字节存储CHAR(n)长度为n的字符类型nCHAR(n)长度为n的字符类型(Unicode)VARCHAR(n)最大长度为n的变长字符类型DATETIME日期时间类型BLOB二进制数具体数据库的数据类型Accessinteger,longintegerSqlserverint,numericOraclenumber,floatAccessOleobject,longintegerSqlserverbinary,varbinary,imageOracleraw,blob数值型二进制型数据定义基本表的创建CR
4、EATETABLE例子:CREATETABLEPersons(Idint,LastNamevarchar(255),FirstNamevarchar(255),Addressvarchar(255),Cityvarchar(255))CREATETABLEPersons(IdintNOTNULL,LastNamevarchar(255)NOTNULL,FirstNamevarchar(255),Addressvarchar(255),Cityvarchar(255))CREATETABLEPersons(IdintNOTN
5、ULLUnique,LastNamevarchar(255)NOTNULL,FirstNamevarchar(255),Addressvarchar(255),Cityvarchar(255))CREATETABLEPersons(Id_PintNOTNULLPRIMARYKEY,LastNamevarchar(255)NOTNULL,FirstNamevarchar(255),Addressvarchar(255),Cityvarchar(255))数据定义基本表的更改ALTER在表S中添加一个新的属性SexALTERT
6、ABLESADDSex(CHAR(6))数据定义基本表的取消DROP取消基本表SDROPTABLES数据定义创建索引CREATEINDEX在表S建立一个学号升序排列的索引XCREATEINDEXXonS(Si)默认是升序ASC,指定是降序DESC数据定义取消索引DROPINDEX取消S上的索引XDROPINDEXX单表查询数据查询的表定义说明建立如下关系数据库,由三个关系组成学生表:S(Si,Sn,Sex,Sd,Sa);Si为学号,Sn为学生姓名,Sex为学生性别,Sd为学生系别,Sa为学生年龄课程表:C(Ci,Cn);C
7、i为课程编号,Cn为课程名学生与课程关系表:SC(Si,Ci,G);G为学生成绩数据查询--单表查询单表查询(不带条件的查询)查询学生表S所有的列SELECT*FROMS;Si(学号)Sn(姓名)Sex(性别)Sd(系)Sa(年龄)001李红女化学系21002张三男中文系20003王五男计算机系22查询所有学生的姓名SELECTSnFROMS;Si(学号)Sn(姓名)Sex(性别)Sd(系)Sa(年龄)001李红女化学系21002张三男中文系20003王五男计算机系22查询所有学生的学号与年龄SELECTSi,SaFROM
8、S;Si(学号)Sn(姓名)Sex(性别)Sd(系)Sa(年龄)001李红女化学系21002张三男中文系20003王五男计算机系22创建列的别名查询所有学生的学号与年龄SELECTSias“ID”,Saas“age”FROMS;ID(学号)Sn(姓名)Sex(性别)Sd(系)age(年龄)001李红女化