数据库操作

1 基本操作语句
1.1 Select查询语句
举例:有一数据表Student,包含Name(学生姓名)、Sex(性别)、Age(年龄)三个字段;表中有张三和李四二条数据。
基本表内数据操作语法:
查询表数据:
Select * --需要查找的内容,可以填写具体的字段名
From Table --需要查找的表
Where --查找的条件
如:查找张三同学的年龄
Select Age
From Student
Where Name=’张三’
LIKE模糊查询
Select * --需要查询的列名,为所有列
From Table --需要查询的表
Where 列名 LIKE ‘
’ --*号处代表模糊查询的条件
如:查询表Student中所有姓李的同学信息
Select *
From Student
Where Name like ‘李%’ --%表示N个字符长度,_表示一个字符长度
提示:查询不姓李的同学的信息,则将查询条件改为Where Name not like ‘李%’即可

1.2 UPDATE更新语句
——将已存在的记录的内容改变
如:UPDATE


SET <列名>= value1 [,列名2 = value2]…
WHERE <查询条件>

如,修改表数据:
Update Table –需要更新的表
Set --需要更新的字段的值(更新以后的值)
Where --查找的条件
如:将李四同学的性别由男修改为女
Update Student
Set Sex=’女’
Where Name=’李四’

1.3 INSERT插入语句
1.3.1 INSERT VALUES
插入数据:
Insert into Table (列名,列名) --需要插入数据的表名以及表内的列名
Values (‘值’,’值’) --插入的列的值
如:往Sudent 表内插入一条王五同学的数据
Insert into Sudent --不指明具体列名时默认为与表内顺序相同的所有列
Values (‘王五’,’男’,’20’)

备注:使用该语句向表中插入数据时你必须遵循以下三条规则 :
你所要插入的数值与它所对应的字段必须具有相同的数据类型 ;
数据的长度必须小于字段的长度 ,例如:你不能向一个长 40个字符的字段中插入一个长 80 个字符的字符串 ;
插入的数值列表必须与字段的列表相对应,也就是说第一个数值在第一个字段, 第二个数值在第二个字段。
1.3.2 INSERT SELECT
将别的表的数据插入另一个表中
Insert Into Table AS
(Select * from Table Where **)

当需要插入的数据太多时,允许程序员拷贝一个或一组表的信息到另外一个表中
如:insert into


Select * From Table
备注:在以下几种情况下可以使用INSERT SELECT语句进行数据的插入
需要查询的表经常产生利润的增加;
需要查询的表可以从多个数据库或表中获得外部数据;
INSERT SELECT 语句要求你遵循如下规则:
SELECT 语句不能从被插入数据的表中选择行;
INSERT INTO中的列数必须与SELECT 语句返回的列数相等;
INSERT INTO 中的数据类型要与SELECT 语句返回的数据类型相同。
1.4 DELETE 删除语句

删除表数据:
Delete from Table --要删除的表
Where --查询条件
如:删除表Student的数据
Delete from Student

备注:通过 DELETE 语句和 WHERE 子句 DELETE 语句可以完成下边的工作:
删除单一的行
删除多个行
删除所有的行
什么也不删除

在使用 DELETE 语句时需要注意以下几点:
DELETE不能删除个别的字段,它对于给定表只能整个记录整个记录地删除
与 INSERT和UPDATE一样,删除一个表中的记录可能会导致与其它表的引用完整性问题,当对数据库进行修改时一定在头脑中有这个概念
DELETE 语句只会删除记录,不会删除表,如果要删除表需使用DROP TABLE命令
2 SQL中的子句
2.1 ORDER BY子句——排序
直接加到查询语句最后面即可
DESC为降序,默认为ASC升序
2.2 GROUP BY子句——分组
直接加到查询语句最后面即可

2.3 HAVING:功能大致同WHERE,不同的是WHERE后不可接函数,HAVING后可接函数
2.4 DISTINCT——强制对某列不显示重复值
如: Select distinct <列名>
Form


Where <查询条件>
Group by <分组条件>
Having<分组后查询>
Order by <排序>
3 SQL函数
3.1 汇总函数:COUNT

Select count(*) –号处可指明需统计的具体列的列名
From Table --需统计的表名
Where ** --筛选条件
如:统计表Student中所有性别为男的同学的个数
Select count(
)
From Student
Where Sex=’男’

3.2 算和函数:SUM
如:Select sum(*)
From


Where <查询条件>
3.3 求平均值函数:AVG
如:Select avg(列名)
From

Where <查询条件>
3.4 求最大值:MAX
如:Select max(列名)
From

Where <查询条件>
3.5 求最小值:MIN
如:Select min(列名)
From

Where <查询条件>
3.6 求方差函数:VARIANCE——统计领域
如:Select variance(列名)
From

Where <查询条件>
3.7 返回标准差:STDDEV
如:Select stddev(列名)
From

3.8 日期函数:ADD_MONTHS——将给定的日期增加一个
如:Select add_months(日期列名)
From

3.9 返回指定月份的最后一天:LAST_DAY
如:需知道DATA表中date列显示的最后一天
Select last_day(date)
From DATA
3.10 查询指定的二个日期中有多少个月:MONTHS_BETWEEN
如:需查询DATA表中date1列和date2列之间多少个月
Select months_between(date1,date2)
From DATA
3.11 调整时间为所在的时区:NEW_TIME
3.12 返回系统的时间:SYSDATE
4 数据定义语句
4.1 创建表数据库:
CREATE DATABASE <数据库名>
4.2 创建表:
CREATE Table <表名>

列名1 数据类型 是否可为空,
列名2 数据类型 是否可为空,


备注:ORACLE所支持的数据类型
CHAR:可以存储长度为 1~255 个字符的字符串,空格会被填充到字符串的右边以保证其内容满足定义的长度 ;
DATE:包括日期的世纪年月日时分秒
LONG :可以支持长达 2G的字符串,LONG数据类型在其它的数据库系统中常被称为备注类型,它主要用于存储大量的可以在稍后返回的文本内容。
LONG RAW:可以存储长达 2G的二进制内容,LONGRAW类型在其它数据库系统中常被称为大二进制类型( BLOB),它可以用来存储图形、声音、视频数据 尽管关系型数据库管理系统最初不是为它们而设计的,但是多媒体数据可以存储在BLOB(或 LONG RAW)类型的字段内。
NUMBER:零、正值或负值的定点或浮点数
RAW:可以存储长不过 255 个字节的二进制代码
ROWID:用一个十六进制的数来标明当前行在表内的唯一地址,ROWID常用在可以将你的表中的每一条记录都加以唯一标识的场合 许多关系型数据库管理系统用 COUNTER(如ACCESS)或 IDENTITY(SQL SERVER)来表达这个概念
VARCHAR2:变长的字母或数字,长度可以从 1 到2000
4.3 ALTER TABLE语句
ALTER TABLE 语句可以帮助你做两件事:
加入一列到已经存在的表中
修改已经存在的表中的某一列
语法:
ALTER TABLE
<ADD <列名> <数据类型> ;|
MODIFY <列名> <数据类型>;>
如:将BILL表中的NAME字段改为长度为40个字符:
ALTER TABLE BILL MODIFY NAME Char(40);
备注:你可以增加或减少某一列的长度,但是你不能将它减少到使修改后的长度小于其中已有数据长度。
4.4 删除表
DROP TABLE <表名>
4.5 删除数据库
DROP DATABASE <数据库名>
5 创建视图和索引
暂无
6 数据备份和还原
还原数据:imp yygl/yygl file=e:\back\2012-4-12.dmp fromuser=yygl touser=yygl

备份数据:EXP CS/CS@SDYY file=e:\Beifen\InitData2012-7-25(ksry).dmp owner=cs log=e:\Beifen\InitData2012-7-25(ksry).log

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值