Oracle DB Day01(SQL)
--时间为什么不是现在呢?
--设置时区和显示时间
ALTER DATABASE SET TIME_ZONE='+08:00'
select to_char(current_timestamp at time zone dbtimezone,'YYYY-mon-DD hh:mi:ss am') from dual;
--获取当前系统时间
select to_char(current_timestamp at time zone '+08:00','YYYY-mon-DD hh24:mi:ss') from dual; SELECT SYSDATE FROM dual
--注释是这样写的
--sql本身不区分大小写,但为了可读性,建议关键字全部大写,非关键字小写
--支持选中执行该条语句,或用分号隔开执行最后一条语句,分号不是sql必备的;
--数据库中所有类型的默认值都是null, --DDL数据定义,对数据库对象进行操作的语言,数据库对象包括:表、视图、索引、序列等
--1 创建一个表,用DEFAULT初始化,不能创建同名对象表
--创建表时可以使用DEFAULT为某个字段单独制定一个默认值
--数据库中字符串用单引号,字符串的值支持大小写
--NOT NULL非空是一种约束,确保字段值不为空,
--NOT NULL 和DEFAULT二选一
CREATE TABLE employee(
id NUMBER (4),
name VARCHAR2(20) NOT NULL ,
gender CHAR(1) DEFAULT 'M',
birth DATE,
salary NUMBER(6,2) DEFAULT 5000,
job VARCHAR2(30),
deptno NUMBER(2)
)
--1.1 查看表的结构
DESC employee --1.2 删除表
DROP TABLE employee --1.3 修改表(表已经使用尽量不要改):
--1.3.1 修改表名
RENAME employee TO myemp
DESC myemp
DESC employee
--1.3.2 修改表的结构:
--1.3.1.1 添加新字段,只能在表的末尾添加新字段;
ALTER TABLE myemp
ADD(
hirodate DATE DEFAULT SYSDATE
)
DESC myemp --1.3.2 修改现有字段,可以改字段的类型、长度、默认值、是否非空等;
--修改表结构应注意不要在表中有数据后进行
--若表中有数据,修改字段时应避免修改类型
--修改长度避免缩小,否则可能会失败
ALTER TABLE myemp
MODIFY(
job VARCHAR(40) DEFAULT 'CLERK'
)
DESC myemp --1.3.3 删除现有字段;
ALTER TABLE myemp
DROP(
name
)
DESC myemp --2 DML是对表中数据进行操作的,伴随事务控制(TCL)
--DML操作包括:增、删、改。
--2.1
INSERT INTO myemp(id,salary,deptno)
VALUES(9,8888,10)
--只是假装改了数据,还没提交或回滚;提交前自己能查到别人查不到
--
SELECT * FROM MYEMP
--提交
COMMIT --插入日期
INSERT INTO myemp(birth)
VALUES(TO_DATE('2019-3-16','yyyy-mm-dd'))
SELECT * FROM MYEMP --修改表中数据,要用WHERE添加过滤,满足条件的才进行修改,否则是全表修改
UPDATE myemp
SET salary = 4566, ID=3 ,JOB = 'WORK'
WHERE ID=2 SELECT * FROM MYEMP --DELETE语句用来删除数据,删除数据通常也要添加WHERE语句来限定要删除数据的条件,否则是清空操作;
DELETE FROM myemp
WHERE ID = NULL SELECT * FROM MYEMP TRUNCATE TABLE myemp SELECT SYSDATE FROM DUAL;
SELECT SYSTIMESTAMP FROM DUAL;
SELECT TO_CHAR(SYSTIMESTAMP at time zone '+8:00','YYYY.MM.DD.HH24.MI.SS') FROM DUAL; SELECT NEXT_DAY(SYSDATE,5) FROM DUAL SELECT EXTRACT(YEAR FROM SYADATE) CURRENT_YEAR FROM DUAL
SELECT EXTRACT(HOUR FROM TIMESTAMP '2008-10-10 13:10:10') FROM DUAL
Oracle DB Day01(SQL)的更多相关文章
- Oracle DB Day03(SQL)
--day03 --创建一个包含下面信息的表,并添加一些记录待用 --EMPLOYEE_ID NOT NULL NUMBER(6) --FIRST_NAME VARCHAR2(20) --LAST_N ...
- Oracle DB Day02(SQL)
--数据库下表一般都是从1开始,例如字符串等 SELECT *FROM employees --字符串连接CONCAT() ,CONCAT(CONCAT(EMPLOYEE_ID,','),SALARY ...
- 在silverlight中通过WCF连接ORACLE DB数据库(转)
转自 http://hi.baidu.com/qianlihanse/item/458aa7c8d93d4e0cac092ff4 这不是我的原创,我也是上网学习的~ How to get data f ...
- Oracle DB 存储增强
• 设置Automatic Storage Management (ASM) 快速镜像 再同步 • 使用ASM 首选镜像读取 • 了解可伸缩性和性能增强 • 设置ASM 磁盘组属性 • 使用SYSA ...
- Oracle DB 使用调度程序自动执行任务
• 使用调度程序来简化管理任务 • 创建作业.程序和调度 • 监视作业执行 • 使用基于时间或基于事件的调度来执行调度程序作业 • 描述窗口.窗口组.作业类和使用者组的用途 • 使用电子邮件通知 • ...
- Oracle DB 管理数据库的空间
• 描述4 KB 扇区磁盘的概念及使用 • 使用可移动表空间 • 描述可移动表空间的概念 数据库存储 数据库存储 数据库包括物理结构和逻辑结构.由于物理结构和逻辑结构是分开的,因此管理数据的物 理存储 ...
- Oracle DB 备份和恢复的概念
• 确定Oracle DB 中可能发生的故障类型 • 说明优化实例恢复的方法 • 说明检查点.重做日志文件和归档日志文件的重要性 • 配置快速恢复区 • 配置ARCHIVELOG模式 部分工作内容 ...
- 用户与 Oracle DB 交互具体过程
与 Oracle DB 交互 以下的演示样例从最主要的层面描写叙述 Oracle DB 操作.该演示样例说明了一种 Oracle DB 配置,在该配置中,用户和关联server进程执行于通过网络连接的 ...
- Test oracle db iops
Today, i need to test one database's iops and do something for oracle db's io test. How to test the ...
随机推荐
- SQLServer之创建提交读
事务提交读注意事项 语法:set transaction isolation level read committed. 数据库默认的是两个会话事务之间是提交读. READ COMMITTED指定语句 ...
- SQL大全基本语法
一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...
- win10安装spacemacs
参考: https://www.cnblogs.com/e190/p/10404927.html https://blog.csdn.net/u011729865/article/details/54 ...
- python3 员工信息表
这是最后一条NLP了......来吧 十二,动机和情绪总不会错,只是行为没有效果而已 动机在潜意识里,总是正面的.潜意识从来不会伤害自己,只会误会的以为某行为可以满足该动机,而又不知道有其他做法的可能 ...
- MySQL 常用语句总结
用一个表更新另一个表 UPDATE table1 t1, table2 t2 SET t1.field1 = t2.field1, t1.field2 = t2.field2 WHERE t1.fie ...
- 查询本地电脑IP地址
使用Windows+R键打开"运行"窗口,然后输入CMD进入命令提示窗口 进入命令窗口之后,输入:ipconfig/all 回车即可看到整个电脑的详细的IP配置信息
- 通过getResourceAsStream 获得Properties文件属性和属性值
1.Class.getResourceAsStream(String path) path:不以‘/’开头默认是从此类所在的包下取资源:以'/'开头则是从ClassPath根目录下获取 2.Class ...
- Codeforces Goodbye 2018
Goodbye 2018 可能是我太菜考试的时候出不了$E$ 可能是我太菜考试的时候调不出$F$ 所以转化为手速场之后手速还上不去.jpg A 模拟题意... #include <cstdio& ...
- Carthage下没有Build文件夹
问题描述: 用Carthage管理项目时,执行Carthage upate --platform iOS后发现Carthage目录下没有Build文件夹 解决方案: 在Xcode > Prefe ...
- c#使用资源文件完成国际化
路径结构如下 namespace UnitTestProject1 { [TestClass] public class UnitTest1 { [TestMethod] public void Te ...