sql 第一章 sql基础(oracle)

本文介绍了SQL的基础知识,包括其作为关系数据库标准语言的角色,SQL92和SQL99标准,以及DDL、DML、DCL、DQL和TCL等六大命令语言。详细讲解了如何使用CREATE、INSERT、SELECT和DELETE等操作,并对比了DROP、TRUNCATE和DELETE的区别。此外,还提及了Oracle数据库中常用的数字和字符串数据类型。

一、sql概述:

1.什么是sql:(Structured Query Language)结构化查询语言。

                          SQL 语言是目前广泛使用的关系数据库标准语言

                          著名的大型商用数据库 Oracle、DB2、SQL Server,开源的数据库                                                 PostgreSQL、MySQL,甚至一些小型的数据库 Access 等都支持 SQL。

2.sql标准:

SQL92:1992 年发布的 SQL 语言标准;

SQL99:1999 年发布的 SQL 语言标签;

3.sql 六大命令语言:

DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列

create(建表),drop(删表),truncate(清空表),alter(修改表结构),rename(重命名表)
DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);

update(修改数据),insert (插入数据),delete(删除数据)
DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别;

grant(授予权限),revoke(回收权限)
DQL(Data Query Language):数据查询语言,用来查询记录(数据)

select (查询)

TCL(Transaction Control Language )事务控制语言;

commit(提交),rollback(回滚)

CCL(Cursor Control Language)指针控制语言;

游标

二、详细介绍

1.ddl:数据定义语言:

create:

CREATE TABLE LYP    -- CREATE TABLE 表示你要创建一个表   LYP 为你要创建的表名
(
ID NUMBER,          --ID 为你要创建的列名  NUMBER 为数值型数据类型   用逗号隔开
NAME VARCHAR2(10),  --varchar2(10)为字符串类型,10 表示长度为10个字节长度  用逗号隔开
SEX VARCHAR2(4)     --最后一个不用逗号隔开
)                   --用括号 扩起来

 此时查询出来的结构是没有数据的 只是有了表结构(select * from lyp 为查询表数据 下面会介绍)

2.DML:数据操作语言:

insert:

方法一:insert into lyp(id,name,sex)values(1,'lyp','女');
--insert into 表示你要想表里插入数据,lyp是你要插入数据的表,VALUES 是关键字 给列插入值 
1 可以不加引号 因为是number 类型 可以直接插入,其他类型需要加引号
方法二:insert into lyp(id,sex)values(1,'女');
若只想给某几列插入数据 可以在表名后边指定某几列
方法三:insert into lyp values(1,'lyp','女');
若想给所有列插入数据,那么表名后的列名可以省略,但是后面 values()里的数据必须和列名顺序一致,类型也必须一致

 此时查询表,就会有数据了

3.dql:数据查询语言:

select :

SELECT * FROM LYP
select 是查询的关键字,
*  是通配符 表示全部查询,
from  表示你要从哪个表里查询出全部数据,
lyp  是你要查询的表名

注意(sql优化):最好使用大写字母书写代码,因为计算机会将小写字母转换成大写字母在执行,会影响效率;

如果可以,避免使用 * ,因为计算机会把* 全部翻译成列名在进行查询,也会影响运行效率

4.综合:
drop 与 truncate:

drop table lyp
--删除表
truncate table lyp
--清空表(会保留表结构)

drop 删除表后 ,表就查询不到了,如下图:

truncate 清空表,还会保留表结构,只是表里的数据被清空

 

delete :

delete from lyp where id=1;
会删除 列名为id的值为1 的那一行,where 后可以加条件 比如 只删除id=1 的那一行数据
注意:delete并不是真正意义上的删除,只是加了一个隐藏标记

 delete truncate,drop 的区别:

delete 是dml 语言,其他两者是ddl 语言;delete 可以回滚,其他两个不能回滚;

delete 不能是高水位线 降下来,truncate可以使高水位线下降;

delete 可以删除表中的部分数据(where),truncate 只能清空全部数据,不能部分删除

5.oracle 数据类型(常用):

number:

number(p,s):数值类型,p 表示有效位,从左边第一个非零的数字开始到结尾的长度;

s 表示小数位

char:

char:固定长度,即使你的数据里没有插入你给定长度的字节,他会用空格补全,以空间换时间;

varchar:可变长度,你输入多少个字节 长度就是多少,但是效率低 ,费时间;

varchar2:与varchar 相似

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值