oracle学习笔记系列------oracle 基本操作之表的增删改查

--创建一个表
CREATE TABLE employee_souvc(
id NUMBER(4),
name VARCHAR2(20),
gender CHAR(1),
birth DATE,
salary NUMBER(6,2),
job VARCHAR2(30),
deptno NUMBER(2)
);
--DESC table_name:查看表结构,看到表的列的名字,以及对应的类型,长度等
DESC employee_souvc;
--DROP TABLE table_name 删除一张表的语法
DROP TABLE employee_souvc;
--DEFAULT 关键字 用于为给定的列(字段)设置默认值
--数据库中字段无论是什么类型,默认值都是NULL,若使用DEFAULT指定了默认值,则使用指定的。
--NOT NULL约束 在创建表的时候可以为列添加非空约束,被约束的列在插入数据时必须给值。此列不允许为空。 CREATE TABLE employee_souvc(
id NUMBER(4),
name VARCHAR2(20) NOT NULL,
gender CHAR(1) DEFAULT 'M',
birth DATE,
salary NUMBER(6,2),
job VARCHAR2(30),
deptno NUMBER(2)
);
--RENAME old_name TO new_name 修改表名
--需要注意:新的表名不能是数据库中现有的表
RENAME employee_souvc TO emp_souvc;
--修改表:为表添加新的字段(列),总是在表的最后一列追加
--sysdate是一个日期的值,表示当前系统时间。
ALTER TABLE emp_souvc
ADD (hiredate DATE DEFAULT sysdate);
--从表中删除一列
ALTER TABLE emp_souvc
DROP (hiredate);
--修改表中现有的列
ALTER TABLE emp_souvc
MODIFY (
job VARCHAR2(40) DEFAULT 'CLERK'
);

修改表字段时的注意事项:

1:尽量不修改字段类型。
2:字段长度尽量不要减少。
3:修改后的字段,只对新插入的数据产生影响,修改字段前的所有数据不影响。

--DML操作,向表中插入数据
INSERT INTO emp_souvc(id,name,salary) VALUES(1,'boss',1500);

INSERT语句是向表中插入数据
INSERT语句指定的列对应的值会被插入到表中没有列举的列会插入NULL,但是,若该列有设置默认值(DEFAULT关键字设置的),那么就插入设置的默认值。
若某列为NOT NULL,执行INSERT语句时又没有指定该列,那么插入会抛出违反为空约束的异常

执行INSERT语句时,若没有指定插入任何列,那么就是全列插入,注意,给的值顺序必须与表中列的顺序完全一致,并且不能忽略任何一个列的值网址:yii666.com<文章来源地址:https://www.yii666.com/article/758173.html

--查询表数据
SELECT * FROM emp_souvc;
INSERT INTO emp_souvc(id,name,salary)
VALUES(2,'tom',2500); INSERT INTO emp_souvc(id,name,salary)
VALUES(3,'JERRY',3500); --事务控制:
--用于提交事务。
COMMIT;
--用于回滚事务。那么本次事务中所有的增删改操作全部失效。
ROLLBACK;
--TO_DATE()函数
--TO_DATE('2009-09-01','YYYY-MM-DD'); INSERT INTO emp_souvc
(id,name,birth)
VALUES
(1,'jack',TO_DATE('1990-09-01','YYYY-MM-DD')); SELECT * FROM emp_souvc;
--修改表中的数据
UPDATE emp_souvc
SET job='MANAGER'
WHERE salary=3500;

注意:通常情况下,更改表时,要添加WHERE来指定过滤条件,若不指定WHERE则是全表修改通常不会这样做。

--从表中删除数据
DELETE FROM emp_souvc
WHERE name='tom'; SELECT * FROM emp_souvc;

删除数据时更要注意,添加WHERE.否则是全表删除。文章来源地址https://www.yii666.com/article/758173.html

TRUNCATE  TABLE emp_souvc;
SELECT * FROM emp_souvc;

--序列的创建
create sequence seq_newsId increment by 1 start with 1 maxvalue 999999999;网址:yii666.com

--得到序列的SQL语句
select seq_newsid.nextval from sys.dual;

--删除序列的SQL
DROP SEQUENCE seq_newsId;文章地址https://www.yii666.com/article/758173.html

版权声明:本文内容来源于网络,版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。文本页已经标记具体来源原文地址,请点击原文查看来源网址,站内文章以及资源内容站长不承诺其正确性,如侵犯了您的权益,请联系站长如有侵权请联系站长,将立刻删除

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信图片_20190322181744_03.jpg

微信扫一扫打赏

请作者喝杯咖啡吧~

支付宝扫一扫领取红包,优惠每天领

二维码1

zhifubaohongbao.png

二维码2

zhifubaohongbao2.png