ORACLE数据库(三)----DML、DDL

今天我们来学习DML DDL基础,喜欢博主的点个关注和收藏,大家一起交流~


DML:数据操作语言(inster,delete,update,select),可以手动控制事务的开启、提交和回滚的
DDL:数据定义语言(create,drop,alter),DDL操作是隐性提交的,不能回滚

一、常见数据类型

字符型:用来存放字符型数据,字符包括字母、符号、数字、汉字以及以上所有的组合
数值型:仅有数字,没有其他任何内容,可以用来计算
日期型:存放的是一个时间点,包括年月日时分秒周季(季度)

二、字段属性

数据类型 + 精度

  • 字符型

    CHAR(n):固定长度为n的字符串,长度不足n,则在右侧以空格补全
    VARCHAR2(n):可变长度字符串,存入该字段的数据最长不超过n,不足n的以实际长度存储数据

    注:VARCHAR2(n)是ORCALE数据库中特有的

  • 数值型

    NUMBER(p,s):p表示数值的总长度(不含小数点),s表示小数位的长度。

    注意:

    1 小数位优先级高于整数位,即先补充小数位,再加上整个位,超过p就会报错

    2 若小数位的长度不足,以0补全;若小数位长度超长,超出的部分四舍五入,总长度不能超过p

    3 NUMBER:没有任何参数,默认是用最简的形式存入,遇见小数也不会四舍五入 默认的NUMBER长度为38位

  • 日期型

    DATE:固定存储7个字节,包括世纪、年、月、日、时、分、秒,但并不一定都显示。可以通过该种类型的数据查到关于日期的以上信息及季度、星期等信息
    TIMESTAMP:不常见的日期型数据,存储7到11个字节,相比DATE多出毫秒部分

三、基本的建表语句
1 创建表
1 语法
    CREATE TABLE TB_NAME (
    COL_NAME1 COL_TYPE,
    COL_NAME2 COL_TYPE,
    COL_NAME3 COL_TYPE,
    …
    COL_NAMEN COL_TYPE);
2 规则

1 不建议写汉字表名、列名 (防止乱码,书写麻烦来回切换输入法)
2 表名和列名的长度不能超过30
3 名字要以字母开头 不要出现除了下划线之外的其他符号
4 再同一用户下不要出现同名的表;同一表下不能出现相同的列名

 -- 0:男 1:女
CREATE TABLE STUDENT_INFO(
       STUDENT_NO NUMBER,
       STUDENT_NAME VARCHAR2(100),
       SEX CHAR(2),
       BIRTHDAY DATE
)
2 删除表
DROP TABLE 表名;  -- 连同数据都删除
3 修改表
1 添加字段

语法

ALTER TABLE TB_NAME ADD (COL_NAME DATATYPE); -- 单加一个字段
ALTER TABLE TB_NAME ADD (COL_NAME1 DATATYPE,COL_NAME2 DATATYPE); -- 同时加多个字段

重点

1 向表中新增一个字段时,括号可以省略,建议加上

2 向表中新增多个字段时,括号必须带上

3 新增的字段与已有字段不能重复

2 删除字段

删除一个字段:ALTER TABLE TB_NAME DROP COLUMN COL_NAME;
删除多个字段:ALTER TABLE TB_NAME DROP (COL_NAME1,COL_NAME2…); 记这个

重点

1 要删除的字段必须存在

2 删除单个字段,且没有括号括起,必须加上COLUMN关键字

3 删除多个字段,必须用括号括起,并且不能加COLUMN关键字

4 不能删除所有列,至少要保留一个字段

ALTER TABLE STUDENT_INFO DROP COLUMN ADDRESS;
SELECT * FROM STUDENT_INFO;
ALTER TABLE STUDENT_INFO DROP (BIRTHDAY,AGE);
SELECT * FROM STUDENT_INFO;
3 修改字段

修改单列字段的字段属性:ALTER TABLE TB_NAME MODIFY COL_NAME COL_TYPE_NEW;
修改多列字段的字段属性:ALTER TABLE TB_NAME MODIFY (COL_NAME1 COL_TYPE_NEW,COL_NAME2 COL_TYPE_NEW,…);

重点

1 修改的字段已存在

2 一般修改长度时是由低向高、从小到大修改 一般这个用的比较多

3 若跨数据类型修改字段属性,需要先清空该字段数据再操作

ALTER TABLE EMP MODIFY SAL NUMBER(8,2);
ALTER TABLE EMP MODIFY SAL NUMBER(7,2);
四、基本的增删改
1 仅限在PLSQL中使用
SELECT * FROM 表名 FOR UPDATE;
2 增加数据
INSERT INTO TB_NAME (列名1,列名2....) VALUES(数据1,数据2....); -- 一次只能插一条

当列名和数值一一对应,可以不写列名,直接写VALUES中的值

3 删除数据
DELETE FROM TB_NAME WHERE 条件;

删除数据时若不加WHERE条件,则是将所有数据删除,只删除数据不删除表

4 修改数据
UPDATE TB_NAME SET COL_NAME1 = NEW_VALUE1,COL_NAME2= NEW_VALUE2,WHERE 条件;

修改数据时若是不加WHERE条件,则是将所有数据更新

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dmy20210205

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值