版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SQL语言基础语言基础 1. SQL简介简介 SQL语言是关系数据库操作的基础语言,将数据查询、数据操纵、数据定义、事务控制、系统控制等功能集于一体,使得数据库应用开发人员、数据库管理员等都可以通过SQL语言实现对数据库的访问和操作。 SQL语言可以分为:(1)数据定义语言(DDL)(2)数据操纵语言(DML)(3)数据查询语言(DQL)(4)数据控制语言(DCL)1.高度的非过程化 在使用SQL语言操作数据库时,用户只需要说明“做什么”,而不需要说明“怎么做”。用户任务的实现对用户而言是透明的,由系统自动完成。这大大减轻了用户的负担,同时降低了对用户的技术要求。SQL语言的特点语言的特点 2
2、.面向集合的操作方式 SQL语言采取集合操作方式,不仅查询结果可以是多条记录的集合,而且一次插入、删除、修改操作的对象也可以是多条记录的集合。面向集合的操作方式极大地提高了对数据操作的效率。3.多种使用方式 SQL语言既是自含式语言,又是嵌入式语言。SQL语言可以直接 以命令方式与数据库进行交互,也可以嵌入其他的高级语言中使用。 2. SQL基本语法基本语法 通过通过SQL语句,程序员或数据库管理员(语句,程序员或数据库管理员(DBA)可以做如下的)可以做如下的主要工作:主要工作:(1)建立数据库的表格,包括设置表格所可以使用之空间。)建立数据库的表格,包括设置表格所可以使用之空间。(2)改变
3、数据库系统环境设置。)改变数据库系统环境设置。(3)针对某个数据库或表格,授予用户存取权限。)针对某个数据库或表格,授予用户存取权限。(4)对数据库表格建立索引值。)对数据库表格建立索引值。(5)修改数据库表格结构(新建、删除或是修改表格字段)。)修改数据库表格结构(新建、删除或是修改表格字段)。(6)对数据库进行数据的新建。)对数据库进行数据的新建。(7)对数据库进行数据的删除。)对数据库进行数据的删除。(8)对数据库进行数据的修改。)对数据库进行数据的修改。(9)对数据库进行数据的查询。)对数据库进行数据的查询。SQL语言的语法结构语言的语法结构SQL语言是针对关系型数据库所建立出来的语法
4、叙述,几乎涵盖了对数据库的所有操作。SQL的语句不多,而且其语法也相对较简单。归纳起来,共有六大类:1关键字:SQL的保留字,在语言中有特定的含义2标识符:用于命名数据库对象(表、列、索引、视图等)的词3运算符:用于执行程序代码运算4常量5函数6标点符号:一条SQL语句以分号(;)结束标识符命名规则:标识符命名规则:1.必须以字母开头2.可以包含字母、数字和下划线(_)、美元符号($)和#3.不可以包含空格或特殊字符(如&、%或标点符号)4.不可以是保留关键字数据类型:数据类型:1.字符类型:char、varchar2、nchar、nvarchar2、long2.数值类型:number
5、3.日期类型:date、timestamp4.LOB类型:clob、nclob、blob、bfile5.二进制类型:raw、long raw6.行类型:rowid、urowid常用运算符:常用运算符:算数运算:+,-,*,/ 关系运算:=,=,=,!=确定范围:BETWEEN AND,NOT BETWEEN AND确定集合:IN,NOT IN字符匹配:LIKE,NOT LIKE控制判断:IS NULL,IS NOT NULL逻辑操作:NOT ,AND,OR 3.3.数据查询语言(数据查询语言(DQLDQL) SELECT 语句的格式SELECT *|distinctcolumn_name,ex
6、pressionFROM table_name ,.WHERE.GROUP BY.HAVING.ORDER BY. 基本查询主要指对单个表或视图进行无条件查询、有条件查询和查询排序等。(1)WHERE 子句SELECT * FROM empWHERE deptno=10;(查询条件)(2)“*”,DISTINCT属性词用法 SELECT *|DISTINCT FROM table;(3)ORDER BY条件子句 SELECT * FROM tableWHERE deptno=10ORDER BY sal DESC;3.1 基本查询 3.2 分组查询分组查询是指将数据进行分组,以便对各个组进行统
7、计分析。(1)GROUP BY 条件子句SELECT deptno,count(*),avg(sal)FROM empGROUP BY deptno;(2)HAVING 条件子句 SELECT deptno,count(*),avg(sal)FROM empGROUP BY deptnoHAVING avg(sal)1500; 连接查询只指从多个表或者视图中查询信息。(1)交叉连接 select empno,ename,sal,dname from emp,dept;(2)内连接 select table1.column,table2.column from table1 inner join
8、 table2 on condition;(3)外连接 select table1.column,table2.column from table1 left |right|full join table2 on condition;3.3 连接查询3.4 子查询子查询是指嵌套在其他SQL语句中的SELECT语句。SELECT empno,ename,sal FROM empWHERE sal(SELECT sal FROM emp WHERE ename=7934); 3.5 层次查询层次查询能够将一个表中的数据按照记录之间的联系以树状结构的形式显示出来。SELECT empno,ename
9、,mgr FROM empSTART WITH empno=7839CONNECT BY PRIOR empno=mgr;合并查询指将多个查询的结果集合并。Select query_statement1UNION|INTERSECT|MINUSSelect query_statement1;3.6 合并查询4.2 DELETE语句语句 4. 数据操纵语言(DML)4.3 UPDATE语句语句1INSERT语句格式INSERT语句用于往数据表里插入记录。(1)同时插入多条记录的语句格式为:INSERT INTO (target.field1,target.field2,)SELECT (sour
10、ce.field1,source.field2,)FROM tableexpression(2)插入单条记录的语句格式为:INSERT INTO (target.field1,target.field2,.)VALUES(value1,value2,.)4.1 INSERT语句2注意事项(1)字符串类型的字段值必须用单引号括起来,例如:GOODDAY。(2)如果字段值里包含单引号需要进行字符串转换,把它替换成两个单引号 。(3)字符串类型的字段值超过定义的长度会出错,最好在插入前进行长度校验。(4)日期字段的字段值可以用当前数据库的系统时间SYSDATE,精确到秒。(5)INSERT时如果要用
11、到从1开始自动增长的序列号,应该先建立一个序列号。 (6)在添加数据时可以使用转换函数添加指定的数据类型。 有to_char() to_date() to_number()1DELETE语句格式DELETE语句删除数据表里的记录。用DELETE语句删除的记录,无法再复原,所以条件设置一定要正确。DELETE语句格式为:DELETE tablenameFROM tableexpressionWHERE criteria4.2 DELETE语句2注意事项(1)删除记录并不能释放Oracle里被占用的数据块表空间。它只把那些被删除的数据块标成unused。(2)如果确实要删除一个大表里的全部记录,可
12、以用TRUNCATE语句,它可以释放占用的数据块表空间,其语句格式为:TRUNCATE TABLE 表名;(3)此操作不可回退。 UPDATE 语句通过条件的限制来修改特定的数据。 UPDATE语句格式为: UPDATE table SET newvalue FROM tableexpression WHERE criteria; DML 语句对表都加上了行级锁,确认完成后,必须加上事物处理结束的语句COMMIT才能正式生效,否则改变不一定写入数据库里。如果想撤回这些操作,可以用语句ROLLBACK复原。4.3 UPDATE语句5.2 ALTER语句语句 5.1 CREATE语句语句5.5.
13、数据定义语言数据定义语言(DDL)(DDL)5.3 DROP语句语句 5.4 TRUNCATE语句语句1表的建立 表是存储用户数据的基本结构。 建立表主要指定义下列信息: 列定义 完整性约束5.1 CREATE语句(1)建立一个新表的语句格式可以利用CREATE TABLE语句,来建立一个全新的表,但前提是:数据库必须已经存在。语句格式为:CREATE TABLE table(field1 type(size)index1,field2 type(size)index2,.,nultifieldindex,.)constraint 约束名 primary key(列名)constraint 约
14、束名 primary key(列名)constraint 约束名 unique (列名)constraint 约束名 foreign key(列名) references 外键列constraint 约束名 check(检查表达式)constraint 约束名 default (默认值)n(2)注意事项n创建表时要把较小的不为空的字段放在前面,可能为空的字段放在后面。n创建表时可以用中文的字段名,但最好还是用英文的字段名。n创建表时可以给字段加上默认值,例如DEFAULT SYSDATE。这样每次插入和修改时,不用程序操作这个字段都能得到动作的时间。n创建表时可以给字段加上约束条件。例如不允许
15、重复UNIQUE,主键PRIMARY KEY。2表索引的建立 索引是一种数据库对象 ,他是表和蔟相联系的结构,能够是与表相关的SQL语句执行更迅速,能够快速定位要查询的信息,他对查询结果每影响,但可以提高查询速度,对于在表或聚集的索引列上的每一值将包含一项,为行提供直接的快速存取。在下列情况下,Oracle可利用索引改进性能:按指定的索引列的值查找行。按索引列的顺序存取表。表索引的建立主要采用的是CREATE INDEX语句。这个命令是对一个已存在的表建立索引,语句格式为:CREATEUNIQUEINDEX index ON table(field1ASC|DESC,field2ASC|DES
16、C,.)3视图的建立视图是一个逻辑表,它允许操作者从其它表或视图存取数据,视图本身不包含数据。视图所基于的表称为基表。引入视图有下列作用:提供附加的表安全级,限制存取基表的行或/和列集合。隐藏数据复杂性。为数据提供另一种观点。促使Oracle的某些操作在包含视图的数据库上执行,而不在另一个数据库上执行。建立视图的语句格式为:CREATE VIEW view name() AS SELECT table1.field1,table2.field1 FROM table1,table2.;With read only1ALTER语句格式用ALTER语句,可以修改表、索引,或对视图的字段重新设计。语
17、句格式为:ALTER TABLE tableADD COLUMN field type(size)|CONSTRAINT multifiedindex|DROP COLUMN field|CONSTRAINT indexname5.2 ALTER语句2ALTER语句的具体用法(1)在表的后面增加一个字段,例如为: ALTER TABLE 表名 ADD (BOOK_SHU VARCHAR2(10) ) (2)修改表里字段的定义描述,例如为: ALTER TABLE 表名 MODIFY(BOOK_NAME“ NOT NULL)(3)给表里的字段加上约束条件,语句格式为: ALTER TABLE S
18、COTT.ZHOU1 ADD (CONSTRAINT ZHUJIAN PRIMARY KEY(book_name)修改表名称: rename 旧表名 to 新表名n修改列的属性时,需要注意以下几条: 1、可以增加列的宽度或数字的精度。 2、减少列的宽度时,列的取值要大于列值范 围。 3、当数据类型被修改时,列值必须为空 使用DROP语句,可以删除表,索引,视图,同义词,过程,函数,数据库链接等。可以恢复,DROP语句的格式为:DROP TABLE table|INDEX index ON table例如: drop table biao 5.3 DROP语句 使用TRUNCATE语句,可以清空表里的所有记录,保留表的结构。TRUNCATE语句的格式为:TRUNCATE table 表名;5.4 TRUNCATE语句6 6 数据控制语言(数据控制语言(DCLDCL)1. COMMIT语句语句2. ROLLBAC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上饶卫生健康职业学院《安全生产与环境保护》2025-2026学年第一学期期末试卷(B卷)
- 初中2025天气观察“探奥秘”说课稿
- 初中生涯规划“不迷茫”主题班会说课稿
- 第3节 太阳能说课稿2025学年初中物理人教版九年级全一册-人教版2012
- 上海震旦职业学院《ARM 嵌入式系统》2025-2026学年第一学期期末试卷(A卷)
- 高中2025年劳动价值观主题班会说课稿
- 八 中国改革开放的总设计师-邓小平(二)说课稿2025学年高中历史人民版选修中外历史人物评说-人民版2004
- 2026年四季之美一课时说课稿
- 26年基层医生随访能力培训
- 初中2025民族融合主题班会说课稿
- 生态环境影响评价合同范本2026
- 7.1《青蒿素:人类征服疾病的一小步》课件(内嵌视频)2025-2026学年统编版高一语文必修下册
- (2025年)血液透析护理常规考试题及答案
- 英语试题+答案-北京市东城区2025-2026学年度第二学期高三综合练习(二)(二模)
- 2026年高考地理考前20天冲刺讲义(一)(解析版)
- 2026届福建省厦门市高三三检英语试题(含答案和音频)
- 上海市2025上海戏剧学院近期招聘1人笔试历年参考题库典型考点附带答案详解
- 2026年反兴奋剂检查官考试兴奋剂检查违规情形识别题
- 银川市、石嘴山市、吴忠市三市2026年高三年级学科教学质量检测数学+答案
- 2026四川成都产业投资集团有限公司所属公司招聘5人笔试历年参考题库
- 【715】《老年护理服务能力提升行动方案》深度解读
评论
0/150
提交评论