首页 > 数据库 >Oracle常规操作

Oracle常规操作

时间:2023-08-09 17:00:27浏览次数:46  
标签:account -- 常规 DATE VARCHAR2 Oracle 操作 id SELECT

Oracle常规操作

创建表

CREATE TABLE t_user(
    id NUMBER(4),
    username VARCHAR2(20) NOT NULL,
    gender CHAR(1) DEFAULT 'M',
    birth DATE
);

插入数据

-- 插入指定的列
INSERT INTO t_user (id,username,gender)
VALUES(1,'pp0419','M');
-- 使用默认日期格式插入记录
INSERT INTO t_user (id,username,gender,birth)
VALUES(2,'pp0419','M','01-SEP-89');
-- 自定义日期格式插入数据
INSERT INTO t_user (id,username,gender,birth)
VALUES(1001,'盼盼','M',TO_DATE('1999-04-19','YYYY-MM-DD'));

更新数据

-- 更改id为2的username为UPDATE_panpan
UPDATE t_user SET username = 'UPDATE_panpan' WHERE id = 2;
-- 查看更新结果
SELECT * FROM T_USER;

删除数据

-- 删除id为1的用户
DELETE FROM T_USER WHERE id = 1;
-- 删除用户表中birth为空的记录
DELETE T_USER WHERE birth IS NULL;
-- 查看更新结果
SELECT * FROM T_USER;

创建Account表

表结构如下:

pPVjAu8png

sql如下:

CREATE TABLE Account (
  id NUMBER, -- 账户ID
  recommender_id NUMBER, -- 推荐人ID
  login_name VARCHAR2(100), -- 登录名
  login_password VARCHAR2(100), -- 登录密码
  status VARCHAR2(20), -- 账户状态
  create_date DATE, -- 创建日期
  pause_date DATE, -- 暂停日期
  close_date DATE, -- 关闭日期
  real_name VARCHAR2(100), -- 真实姓名
  idcard_no VARCHAR2(20), -- 身份证号码
  birthdate DATE, -- 出生日期
  gender VARCHAR2(10), -- 性别
  occupation VARCHAR2(100), -- 职业
  telephone VARCHAR2(20), -- 电话号码
  email VARCHAR2(100), -- 电子邮件
  mailaddress VARCHAR2(200), -- 邮寄地址
  zipcode VARCHAR2(10), -- 邮政编码
  qq VARCHAR2(20), -- QQ号码
  last_login_time DATE, -- 最后登录时间
  last_login_ip VARCHAR2(50) -- 最后登录IP
);

修改账务账户表:

1、修改account表的表名为t_account;

RENAME ACCOUNT TO t_account;

2、向t_account表增加一列bak,其数据类型为varchar2,长度为50;

ALTER TABLE t_account ADD bak VARCHAR2(50);

3、修改t_account表中bak列的长度为40,并增加默认值的设置,默认为“login”

4、删除t_account表中的bak列

ALTER TABLE t_account DROP COLUMN bak ;

常用日期转换

TO_CAHR()

-- 按格式显示系统时间
SELECT TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss') FROM DUAL;
-- 按指定格式显示时间
SELECT TO_CHAR(hiredate,'fmDD "of" MONTH YYYY') "Date Hired" FROM emp;
-- 按指定格式显示时间
SELECT ename,TO_CHAR(hiredate,''yyyy-mm-dd') as "HIREDATE",
    TO_CHAR(hiredate,'yyyy"年"mm"月"dd') as "REVIRE" FROM emp;

常用日期函数

案例:查询一个订单从下单开始到启运需要多长时间,以月为单位

以下是本案例sql:

-- 查询一个订单从下单开始到启运需要多长时间,以月为单位
CREATE TABLE ord(
	custid NUMBER(4),
	orderdate DATE,
	shipdate DATE
);
RENAME ord to t_ord;
INSERT INTO t_ord(custid,orderdate,shipdate) VALUES(1001,'12-APR-98','10-JUN-98');
INSERT INTO t_ord(custid,orderdate,shipdate) VALUES(1001,'1-APR-98','2-JUN-98');
INSERT INTO t_ord(custid,orderdate,shipdate) VALUES(1001,'3-APR-98','4-JUN-98');
-- 查询一个订单,从开始下单到启运需要多长时间
SELECT custid,orderdate,shipdate,ROUND(MONTHS_BETWEEN(shipdate, orderdate)) as "TIME TAKEN" FROM T_ORD;

常用空值函数

-- 创建cutomer
CREATE TABLE t_cutomer(
	cust_id NUMBER(4), -- 客户编码
	cname VARCHAR2(25), -- 客户姓名
	birthdate DATE,-- 客户生日
	account NUMBER-- 客户账单余额
);
-- 列出客户信息,当birthdate为null时,将birthdate列的数据显示为"not available",to_chat()转换的时候出现null也进行转换
SELECT 
cust_id,cname,
NVL(TO_CHAR(birthdate,'yyyy-mm-dd'), 'not available'),
NVL(TO_CHAR(account), 'no account') 
FROM t_cutomer;
-- 列出生日在指定年份的客户
SELECT * FROM t_cutomer WHERE TO_CHAR(birthdate,'yyyy') = '1999';

标签:account,--,常规,DATE,VARCHAR2,Oracle,操作,id,SELECT
From: https://www.cnblogs.com/atwood-pan/p/17617298.html

相关文章

  • oracle物理映射记录
    流程oracle数据库oracle数据库[root@node-3oracle]#lsu01u01-01u01-02[root@node-3oracle]#pwd/root/fileData/bpm/oracle[root@node-3oracle]#u01为从31521导出的数据库数据u01-01对应31522易捷测试环境u01-02对应315238287环境......
  • Django之Model操作数据库
    ORM简介O(objects):类和对象。R(Relation):关系,关系数据库中的表格。M(Mapping):映射。DjangoORM框架的功能:建立模型类和表之间的对应关系,允许我们通过面向对象的方式来操作数据库。根据设计的模型类生成数据库中的表格。通过方便的配置就可以进行数据库的切换。数据库的......
  • django ORM操作
    fromdjango.contrib.auth.modelsimportUserfromdjango.db.modelsimportQfromdjango.db.models.functionsimportLowerfromapp.modelsimport *添加操作a、使用create方式方式一:Publish.objects.create("name"="人民出版社",city="北京"}方式二:......
  • Oracle慢SQL定位
    统计慢查询耗时select*from(selectsa.SQL_TEXT"执行SQL",sa.EXECUTIONS"执行次数",round(sa.ELAPSED_TIME/1000000,2)"总执行时间",round(sa.ELAPSED_TIME/1000000/sa.EXECUTIONS,2)"平均执行时间",......
  • 性能测试的常规流程
    性能测试流程图:(1)业务学习:通过查看文档,手工操作系统来了解系统功能。(2)需求分析:分析系统非功能需求,圈定性能测试的范围,了解系统性能指标。(3)工作评估:工作量分解,评估工作量,计划资源投入(即需要多少人力,多少工作日来完成性能测试工作)。(4)设计模型:圈定性能测试范围后,把......
  • 为什么操作dom比较耗时
    为甚操作dom比较耗时以前只知道操作dom比较耗时,但是不知道为什么,也没有去深究,今天知道了为什么记录一下这个问题应该是有上下文的操作dom比较耗时,应该是相对于普通js操作,操作dom比较耗时,上一段代码比较有说服力consttimes=1000000console.time('js')letbody=docume......
  • 推导分页的原理,分页类的使用,cookie和session的介绍(重要),Django操作cookie
    推导分页的原理分页:当我们要展示的数据特别多的时候,一页展示不完,这个时候我们需要把要展示的数据分成多页展示分页中需要的几个参数:1.总数据有多少条2.每页展示多少条数据(自己规定的20)3.一共展示多少页4.总页数=总数据量/每页展示多少条数据5.当前第几页(前端......
  • C# list常用的几个操作 改变list中某个元素的值 替换某一段数据
    1、改变list中某个元素的值publicclasstb_SensorRecordModel{publicintID{get;set;}publicdecimalValue1{get;set;}}List<tb_SensorRecordModel>list=newList<tb_SensorRecordModel>();li......
  • 数据库-mysql/postgresql/mongo/oracle/redis 物理备份与恢复的执行方式有
    以下是每个数据库的物理备份与恢复的执行方式示例:MySQL:备份:使用mysqldump命令进行备份。示例:mysqldump-uusername-pdatabase_name>backup.sql恢复:使用mysql命令从备份文件中恢复数据。示例:mysql-uusername-pdatabase_name<backup.sqlPostgreSQL:备份:使用pg_d......
  • mybatis的基础操作
    mybatis的基础操作常用的操作,增删改查1.增加@Insert("insertinto表名(字段名)values(字段值)publicvoidinsert(参数);对于要将传递的参数用到sql语句中需要用到#{}例如:参数为idinsertinto表名(id)values(#{id})后一个id为参数的名字然而对于多个参数......