Oracle 初学

--创建表
CREATE TABLE STUDENTS(
       ST_ID NUMBER(10),
       ST_NAME VARCHAR2(100),
       ST_SEX VARCHAR2(10),
       ST_JOIN_DATE DATE,
       ST_HOBBIES VARCHAR2(100)
);
--修改表 增加一个字段
ALTER TABLE STUDENTS ADD (ST_AGE NUMBER(3));

--修改表 删除一个字段
ALTER TABLE STUDENTS DROP COLUMN ST_AGE;

--修改表 修改字段名
ALTER TABLE STUDENTS RENAME COLUMN ST_HOBBIES TO ST_HOBBY; 

--修改表 修改字段类型
ALTER TABLE STUDENTS MODIFY ST_HOBBY VARCHAR2(200);

--修改表 修改表名称
RENAME STUDENTS TO STUDENT;
RENAME STUDENT TO STUDENTS;

--删除表
DROP TABLE STUDENTS;

--新增记录
INSERT INTO STUDENTS(ST_ID,ST_NAME,ST_SEX) VALUES(1,'KEVEN','男');
INSERT INTO STUDENTS(ST_ID,ST_NAME,ST_SEX) VALUES(2,'张三','男');
INSERT INTO STUDENTS(ST_ID,ST_NAME,ST_SEX) VALUES(3,'李四','男');
INSERT INTO STUDENTS(ST_ID,ST_NAME,ST_SEX) VALUES(4,'王五','男');
INSERT INTO STUDENTS(ST_ID,ST_NAME,ST_SEX) VALUES(5,'赵六','男');

INSERT INTO STUDENTS(ST_ID,ST_NAME,ST_SEX,ST_JOIN_DATE) VALUES(6,'赵六','男',SYSDATE);

--修改插入时间格式
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD';
INSERT INTO STUDENTS(ST_ID,ST_NAME,ST_SEX,ST_JOIN_DATE) VALUES(7,'赵六','男','2016-5-2');

ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH:MI:SS';
INSERT INTO STUDENTS(ST_ID,ST_NAME,ST_SEX,ST_JOIN_DATE) VALUES(7,'赵六','男','2016-5-2 09:00:45');

--修改语句
UPDATE STUDENTS SET ST_SEX ='女' WHERE ST_ID = 4;

UPDATE STUDENTS SET ST_HOBBIES = 'LOL,WOW' WHERE ST_ID=5;

UPDATE STUDENTS SET ST_HOBBIES = ST_HOBBIES|| ' LOL'WHERE ST_ID = 3;

--删除记录
DELETE FROM STUDENTS WHERE ST_ID = 5;

--查询表
SELECT 
ST_ID,ST_NAME,ST_SEX,ST_JOIN_DATE,ST_HOBBIES
FROM STUDENTS;

-- 按条件查询
SELECT ST_ID,ST_NAME,ST_SEX,ST_JOIN_DATE,ST_HOBBIES FROM STUDENTS WHERE ST_ID = 4;

SELECT ST_ID,ST_NAME,ST_SEX,ST_JOIN_DATE,ST_HOBBIES FROM STUDENTS WHERE ST_ID NOT IN(4);

SELECT ST_ID,ST_NAME,ST_SEX,ST_JOIN_DATE,ST_HOBBIES FROM STUDENTS WHERE ST_SEX NOT IN('男');

--提交
COMMIT;

--主键约束  PRIMARY KEY 
--增加一个名为 PK_STUDENTS_ID 的主键约束
ALTER TABLE STUDENTS ADD CONSTRAINT PK_STUDENTS_ID PRIMARY KEY (ST_ID);
--删除主键
ALTER TABLE STUDENTS DROP CONSTRAINT PK_STUDENTS_ID;


--唯一约束 UNIQUE
--增加唯一约束
ALTER TABLE STUDENTS ADD CONSTRAINT UN_STUDENTS_NAME UNIQUE(ST_NAME);
--删除唯一约束
ALTER TABLE STUDENTS DROP CONSTRAINT UN_STUDENTS_NAME;


--检查约束 CHECK
--添加检查约束
ALTER TABLE STUDENTS ADD CONSTRAINT CK_STUDENTS_SEX CHECK( ST_SEX = '男' OR ST_SEX = '女' OR ST_SEX IS NOT NULL);
--删除检查约束
ALTER TABLE STUDENTS DROP CONSTRAINT CK_STUDENTS_SEX;


--外键约束  FOREIGN KEY
-- 确认主从关系 建立在从表上
CREATE TABLE SCORE(
       ST_ID NUMBER(10),
       SCORE  NUMBER(3)
);
--添加外键
ALTER TABLE SCORE ADD CONSTRAINT FK_SCST_ID FOREIGN KEY(ST_ID) REFERENCES STUDENTS(ST_ID); 


--添加外键  删除主表(students)的时候同时删除从表相关的数据
ALTER TABLE SCORE ADD CONSTRAINT FK_SCST_ID FOREIGN KEY(ST_ID) REFERENCES STUDENTS(ST_ID) ON DELETE CASCADE; 


--添加外键  删除主表(students)的时候同时将从表相关的数据外键设置为null
ALTER TABLE SCORE ADD CONSTRAINT FK_SCST_ID FOREIGN KEY(ST_ID) REFERENCES STUDENTS(ST_ID) ON DELETE SET NULL; 


--删除外键
ALTER TABLE SCORE DROP CONSTRAINT FK_SCST_ID;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值