ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:18.01KB ,
资源ID:9643344      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9643344.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SQL基础知识学习.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SQL基础知识学习.docx

1、SQL基础知识学习SQL基础知识学习1 基础知识1.1 结尾 一般情况下情况,一条sql语句以;结尾1.2 合并两列成一列方法:使用+举例: select bend_name + bend_count as vend_title from Vendors order by vend_name;1.3 like和通配符使用用法:where 列名 like %123举例:select prod_id,prod_name from Products where prod_name like Fish%;%表示任何字符出现任意次数,但是无法匹配null1.4 常用文本处理函数LEFT() 返回字符串左

2、边的字符length(),datalength() len(),返回字符串的长度lower() ,字符串转小写upper(),字符串转大写ltrim(), 去掉左边空格rtrim(),去掉右边空格right(),返回字符串右边字符substring(,),截取字符串to_date ,字符串转日期1.5 常用数值处理函数abs(),绝对值cos(),余弦exp(),指数值pi(),圆周率sin(),正弦sqrt(),平方根tan(),正切1.6 常见聚合函数AVGmaxmincountsum1.7 group by 作用,对聚合函数进行限定规则:如果在select 中使用表达式,则必须在grou

3、p by 字句中指定相同的表达式,不能使用别名group by 在按组计算聚类时候使用,不使用会报错1.8 having作用:过滤分组1.9 where作用:过滤行级1.10 select子句顺序selectfromwheregroup byhavingorder by1.11 asas 可以给字段,给表,取别名2 多表联结查询2.1 多表查询1:使用子查询where in ,子查询效率低,不建议使用作为子查询的select语句只能查询单个列,企图检索多个列将返回错误方法:在where in (子查询语句)举例:select * from customers where cust_id in

4、(select cust_id from Orders where order_num in (select order_num from orderItems where prod_id =rgan01);2.2 多表查询2:内连接的两种方式,内连接是一种等值连接2.2.1 方式1:from 多表,where 主键限定举例:select vend_name,prod_name ,prod_price from Vendors,Products where Vendors.vend_id = Product.vend_id;举例:select * from customers, Orders,

5、orderItems where customers.cust_id =Orders.cust_id and Order.order_num = orderItems.order_num and orderItems.prod_id = rgan01;2.2.2 方式2:inner join内连接方法: from 表1 inner join 表2 on 表1.列名 = 表2.列名举例:select vend_name,prod_name,prod_price from Vendors inner join Product on Vendors.vend_id = Product.vend_id

6、;自然连接:内连接一种:排除查询出的重复列2.3 外连接:左关联 left outer join以左表为基准,选出左表所有行用法 from 表1 left outer join 表2举例:select Customers.cust_id, count(Orders.order_num) as num_ordfrom Customers left outer join Orders on Customers.cust_id= Orders.cust_idgroup by Customers.cust_id;内连接和外连接区别:外连结包含没有关联行的行,显示为null2.4 使用带聚集函数的外关联

7、,记得加group byselect customers.cust_id,count(Orders.order_num) as num_ordfrom Customers left outer join orderdon Customers.cust_id =Orders.cust_idgroup by Customers.cust_id;2.5 一般可以使用内连接的,使用外连接也会有效3 组合查询也叫(并,union),也叫(复合查询,compound query)union,直接连接组合select语句即可用法:select语句1 union select语句2规则:每个查询语句包含相同列

8、,表达式或者聚集函数,对应列数据类型要兼容扩展:union 会默认去重,使用union all可保留重复项;order by 只能在最后出现理解:union 完成的基本都可以用多个where语句实现4 插入语句4.1 插入一行数据用法1:insert into 表1(列1,列2) values (值1,值2);4.2 查询结果插入到现有表中用法2:insert into 表1(列1,列2) select 列1,列2 from 表24.3 查询结果插入到新表中用法3:create table 新表名 as select 列1,列2 from 表15 更新数据update用法:update 表1s

9、et 列1 =值1, 列2 =值1可以指定where 条件,不指定则更新所有行6 delete删除表中的数据,不删除表用法:deletefrom 表1可以指定where条件,不指定则更新所有行注:truncate table ,也是只删除数据,但速度更快,不记录表变动7 创建表用法:create table 表名( 列名1 字段类型 是否可为null default 值, 列名1 字段类型 是否可为null, 列名1 字段类型 是否可为null .);举例:create table OrderItems( order_num integer not null, primary key orde

10、r_item integer not null, prod_id char(10) not null, quantity integer not null default 1, item_price decimal(18,2);规则:某些需要指定创建表的路径;默认可为空,列名和类型是必须的,primary key,null和default列可选填写8 修改表结构8.1 增加列用法:alter table 已存在表名add 新列名 字段类型举例:alter table Vendorsadd vend_phone char(20);8.2 删除列用法 alter table 已存在表名drop c

11、olumn 已存在列名举例:alter table Vendorsdrop column vend_phone;8.3 删除表和表结构drop table 表名8.4 创建视图(虚拟表)create view 视图名称 asselect查询语句9 存储过程:执行多条sql语句作用:类似编程中函数,方法等概念create procedure MailingListCount( ListCount OUT integer -out,存储过程将返回一个值 ) is v_rows integer -声明变量v_rows begin -begin end 中写存储过程要实现的功能select count

12、(*) into v_rows from Customers where not cust_email is null; -功能语句,把取得的结果赋值给声明的变量v_rowsListCount :=v_rows; -把v_rows赋值给ListCount end; 执行存储过程,execute 存储过程名字(参数)10 事务处理:保证不出错的执行多条sql语句举例:begin transactiondelete OrdeItems where order_num =12345delete Orders where order_num =12345commit transaction11 游标:

13、用于浏览查询结果集中上下行declare cursor 游标名 -声明游标isselect 语句open cursor 游标名 -打开游标fetch 游标名 into 列 -使用游标close 游标名 -关闭游标12 触发器:特殊的存储过程在特定的数据库活动时候执行,与单个表相关联存储过程,只是存储多个sql语句,不执行,执行需要写execute13 速查ALTER TABLEALTER TABLE用来更新现存表的模式。可以用CREATE TABLE来创建一个新表。详情可参见第17课。COMMITCOMMIT用来将事务写入数据库。详情可参见第20课。CREATE INDEXCREATE IND

14、EX用来为一列或多列创建索引。详情可参见第22课。CREATE TABLECREATE TABLE用来创建新的数据库表。可以用ALTER TABLE来更新一个现存表的模式。详情可参见第17课。CREATE VIEWCREATE VIEW用来创建一个或多个表的视图。详情可参见第18课。DELETEDELETE用来从表中删除一行或多行。详情可参见第16课。DROPDROP用来永久性地删除数据库对象(表、视图、索引等)。详情可参见第17课和第18课。INSERTINSERT用来对表添加一个新行。详情可参见第15课。INSERT SELECTINSERT SELECT用来将SELECT的结果插入到表中。详情可参见第15课。ROLLBACKROLLBACK用来撤销事务块。详情可参见第20课。SELECTSELECT用来从一个或多个表(或视图)中检索数据。详情可参见第2课、第3课和第4课(第2课到第14课从不同方面涉及了SELECT)。UPDATEUPDATE用来对表中的一行或多行进行更新。详情可参见第16课。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1