Oracle数据库 插入数据格式,简单查询

时间:2022-08-29 16:24:44
 操作练习代码,知识点往下翻
TRUNCATE TABLE hehe1111;
select * from hehe1111;
desc hehe1111;
INSERT INTO hehe1111(name,age,id) VALUES('haha',100,'');
INSERT INTO hehe1111(name,sex,age,id) VALUES(NULL,'f',100,'');
INSERT INTO hehe1111(name,sex,age,id) VALUES('haha','f',100,'');
INSERT INTO hehe1111(name,sex,age,id) VALUES('haha','f',100,'');
INSERT INTO hehe1111(sex,age,id) VALUES('f',100,'');
INSERT INTO hehe1111(name,sex,age,id) VALUES('HaHa','f',100,''); COMMIT;
SAVEPOINT a1;
ROLLBACK;
DELETE hehe1111; select concat(NAME,null) from hehe1111 where id='';
select length(name) from hehe1111;
select name from hehe1111;
select upper(name) from hehe1111;
select lower(name) from hehe1111;
select initcap(name||' '||'hello') from hehe1111;
select 'hi'||RTRIM('hello world','ld') from hehe1111;
select LPAD(name,10,'hello world') from hehe1111;
select RPAD(name,10,'hello world') from hehe1111;
select SUBSTR(name,-4) from hehe1111;
select INSTR(name,'ha') from hehe1111;
COMMIT; create table emp (
name char(20),
id number(3),
salary number(9,3)); INSERT INTO emp(name,id,salary) VALUES('haha',101,'8000.567');
INSERT INTO emp(name,id,salary) VALUES('haha',101,'9000.789');
INSERT INTO emp(name,id,salary) VALUES('haha',103,'9000.123');
INSERT INTO emp(name,id,salary) VALUES('haha',104,'9007.123');
select * from emp;
select TO_CHAR(id)||'**' from emp;
select ROUND(salary) from emp;
select TRUNC(salary) from emp;
select MOD(salary,0) from emp;
select CEIL(salary) from emp;
select FLOOR(salary) from emp; select sysdate from emp;
select SYSTIMESTAMP from emp; drop table student;
create table student (
name char(20),
sex char,
age number(3),
birth date); INSERT INTO student(NAME,SEX,BIRTH) values('xiaoming'
,'m',TO_DATE('2011-11-11','yyyy-mm-dd')); INSERT INTO student(NAME,SEX,BIRTH) values('xiaohua'
,'f',TO_DATE('11-11-2001','mm-dd-yyyy')); INSERT INTO student(NAME,SEX,BIRTH) values('xiaoxiao'
,'m',TO_DATE('2018-9-4-14-29-33','yyyy-mm-dd-hh24-mi-ss')); select to_char(birth,'mm-dd-yyyy-hh-mi-ss')||'hehe' from student;
select last_day(to_date('18-2-2016','dd-mm-yyyy')) from student;
select birth from student;
select add_months(birth,-1) from student;
select MONTHS_BETWEEN(birth,to_date('2018-9,4','yyyy-mm-dd')) from student; select NEXT_DAY(SYSDATE,4) from student;
select GREATEST(SYSDATE,NEXT_DAY(SYSDATE,4),NEXT_DAY(SYSDATE,3)) from student; update hehe1111 set sex='m';
update hehe1111 set sex=NULL where id =1234;
select * from HEHE1111 where sex='m' ;
select nvl(sex,'f') from HEHE1111; select 'drop table '||table_name||';' from cat where table_type='TABLE';

一、SQL语句
    数据定义语句:用于建立、修改、删除数据库对象。
        CREATE:创建表或其它对象
        ALTER:修改表或其它对象的结构
        DROP:删除表或其它对象
        TRUNCATE:删除表中的数据而保留结构
    数据操作语句:用于改变数据表中的数据。
        INSERT:向表中插入数据
        UPDATE:更新表中的数据
        DELETE:删除表中的数据
    事务控制语句:用于维护数据的一致性。
        COMMIT:提交,确认已经改变的数据。
        ROBACK:回滚,取消已经进行确认的数据的改变。
        RAVEPOINT:设置保存点,使当前的事务可以回滚到指定的位置。
    数据控制语句:
        GRANT:授于,用于给用户或角色授权
        REVOKE:于回收用户或角色的权限
        CREATE USER:用于创建用户
    数据查询语句:
        SELECT * from table_name;
二、字符串类型
    1、CHAR\VARCHAR2
        1、表示字符类型,用于存储字符信息,如:姓名、职业、住址等。
        2、CHAR长度固定的字符串,name CHAR(20); name='hehe'; 20
        3、VARCHAR2变长的字符串,name VARCHAR2(20); name='hehe'; 4;
    2、字符编码
        1、默认以字节为单位,可指定为字符。
        2、CHAR(10) 等价于 CHAR(10 BYTE); 指定字符为单位 CHAR(10 CHAR);
        3、每个英文字符占用一个字节,每个汉字根据初始编码的不同会占用2~4字节。
    3、最大长度
        1、CHAR最大长度为2000字节,最多保存2000个字母,1000个汉字。
        2、VARCHAR2最大长度为4000字节,最多保存4000个字母,2000个汉字。
        3、CHAR可以不指定长度默认为1,VARCHAR2必须要指定长度。
    4、LONG和CLOB类型
        1、LONG是VARCHAR2的加长版,变长的存储字符串,最多达到2G的字符串。
            但每个表中只能有一个LONG类型,而且不能当作主键,不能建立索引,不能出现在查询一条件中。
        2、CLOB存储定长的字符串,最大长度可达到4G。
        3、Oracle建议在开发中使用LONG和CLOB替代CHAR和VARCHAR2。
三、字符串函数
    1、CONCAT和||
        1、CONCAT(str1,str2) 返回两个字符串连接后的结果,如果连接的CHAR类型的字符串还要包括后面的空格。
        2、||与CONCAT的功能是等价的。
    2、LENGTH
        1、用于返回字符串的长度。
        2、在计算CHAR类型时会包括后面的空格,在VARCHAR2时只计算字符的数量。
    3、UPPER\LOWER\INITCAP
        UPPER功能是把字符串全部转成大写
        LOWER功能是把字符串全部转成小写
        INITCAP功能是把字符串中的所有单词首字母大写
    4、TRIM\LTRIM\RTRIM
        TRIM(char from str) 功能是从str的开头截取一个字符。
        LTRIM(str1,str2) 功能是从str1的左边截取str2。
        RTRIM(str1,str2) 功能是从str1的右边截取str2。
    5、LPAD\RPAD
        LPAD(str1,n,str2) 显示n个宽度的str1,不够则用str2的字符补充到str1的左边。
        RPAD(str1,n,str2) 显示n个宽度的str1,不够则用str2的字符补充到str1的右边。
    6、SUBSTR
        SUBSTR(str,m,n) 从str的第m个位置开始截取n个字符。
        m=0时也是从头开始截取,m负值时则从末尾截取。
        n省略时默认截取到末尾。
    7、INSTR
        INSTR(str1,str2) 从str1中查找并返回str2首次出现的位置,不存在则返回0。
  四、数值类型
    注意:p的值最大为38,如果p省略,则默认为38。
    1、NUMBER(p) 用来表示整数。
        p表示数据的位数,可以用来存储年龄、编号、次数等。
    2、NUMBER(p,s) 用来表示带小数点的。
        常用于存储金额、工资等。
五、数值函数
    1、ROUND
        1、ROUND(val,s) 用于四舍五入,s表示要保留的小数点后的位数。
        2、s必须是整数,否则自动取整。
        3、如果s为负数,则从小数点前s位四舍五入,但数据不会被截取。
        4、s值缺省时默认为0。
    2、TRUNC
        1、TRUNC(val,s) 用于截取,s表示要保留的小数后的位数。
        2、如果2为负数,则把小数点前的s位置为0。
    3、MOD
        1、MOD(val,m) 使用m对val求余。
        2、m如果为0则直接返回val的值。
    4、CEIL\FLOOR
        CEIL(val)  意思是天花板,就是取val四舍五入的最大值。
        FLOOR(val)  意思是地板,舍取小数点后面的数据。
       
六、日期类型
    1、DATE日期类型
        1、使用了7个字节来表示日期
            1byte 世纪+100
            2byte 年
            3byte 月
            4byte 天
            5byte 小时+1
            6byte 分+1
            7byte 秒+1
        2、可以表示的日期范围时公元前4712年1月1日到公元9999年12月31日。
    2、TIMESTAMP日期类型
        1、使用11个字节来表示日期
        2、前7个字节与DATE一致,后4个字节用来存储纳秒。
       
七、日期关键字与函数
    1、SYSDATE
        1、功能是获取当前日期,它不是函数,本质上是Oracle内部的一个关键字。
        2、返回当前的系统时间,可以精确到秒。
        3、默认显示的格式:DD-MON-RR
    2、SYSTIMESTAMP
        1、是一个内部函数,返回当前系统的日期和时间,精确到纳秒。
    3、TO_DATE
        1、TO_DATE(str,fm) 将字符str按照fm的格式转换成日期类型的数据。
        yy 2位数表示的年份
        yyyy 4位数表示的年份
        mm 两位数表示的月份
        mon 简拼表示的月份
        month 全拼表示的月份
        dd 2位数字表示的天
        dy 周几的缩写
        hh24 24小时制时间
        hh|hh12 12小时制时间
        mi 分钟
        ss 秒
    4、TO_CHAR
        TO_CHAR 可以把其它数据类型转换成字符串。
        TO_CHAR(date,fm) 把日期数据转换成字符串。
    5、LAST_DAY
        1、LAST_DAY(date) 获取日期所在月的最后一天。
        2、在按照以自然月为业务逻辑或者安排月末活动时使用。
    6、ADD_MONTHS
        1、ADD_MONTHS(date,i) 在date的基础上加上i月后的日期。
        2、i可以是小数但会取整数。
        3、i的值可以是负的,日期则减去i月。
    7、MONTHS_BETWEEN
        1、MONTHS_BETWEEN(d1,d2) 计算两个日期之间相隔多少个月。
        2、如果d2时间比d1晚则会得到负数。
        3、如果两日期都是整月才能得到整数,否则都是带小数点的数。
    8、NEXT_DAY
        1、NEXT_DAY(date,str) 返回date下一个周几的日期。
        2、在中文环境环境下可以使用'星期一',在英文环境下需要英文单词的全拼。
        3、为了避免麻烦可以使用1-7表示,1星期日 7星期六。
    9、LEAST\GREATEST
        1、LEAST(d1,d2,d3,...) 返回日期列表中的最小值。
        2、GREATEST(d1,d2,d3,...) 返回日期列表中的最大值。
七、NULL的含义
    1、NULL是数据库中非常重要一个数据,也叫空值。
    2、在插入数据时,某些字段如果没设置值则取值为NULL。
    3、在创建表的时可以设置某些字段的值不能为NULL。
    4、任何数据类型都可以为空。
   
八、空值操作
    1、插入空值
        1、显式的插入空值,赋值时任何类型的数据都可以赋值为NULL。
        2、隐式的插入空值,对字段不赋值时该字段的值就为NULL。
    2、更新成空值
        UPDATE 表名 SET 字段=NULL where bool;
    3、空值的条件查询
        空值不等于任何值,不能直接判断。
        where sex is NULL
九、空值相关的函数
    1、NVL
        1、NVL(val1,val2) 把空值数据转换成非空的。
        2、如果val1不为空,则返回val1,如果val1为空则返回val2。
        3、val1和val2可以是任意类型,但它们类型必须一致。
    2、NVL2
        1、NVL2(val1,val2,val3)也是把空值数据转换成非空的。
        2、如果val1为空,则返回val2,如果val2也为空则返回val3。

Oracle数据库 插入数据格式,简单查询的更多相关文章

  1. PLSQL往Oracle数据库插入中文后变为问号 和 启动PLSQL时提示NLS_LANG在客户端不能确定的解决办法

    PLSQL往Oracle数据库插入中文后变为问号 和 启动PLSQL时提示NLS_LANG在客户端不能确定的解决办法 1.检查服务器的字符编码 Select * from V$NLS_PARAMETE ...

  2. Oracle单表的简单查询

    Oracle单表的简单查询 查看表结构 desc emp; 查询所有列 Select * from emp; 查找所以部门编号(查指定的列) select deptnofrom emp; 查找编号不同 ...

  3. Oracle多表的简单查询

    Oracle多表的简单查询 .多表查询 多表查询是指基于两个和两个以上的表或是视图的查询. 问题:显示雇员名,雇员工资及所在部门的名字[笛卡尔集]? select t.ename,t.sal,t1.d ...

  4. 使用mybatis向oracle数据库插入数据异常

    遇到了使用mybatis向oracle数据库插入数据异常的问题, 具体的报错如下:org.springframework.jdbc.UncategorizedSQLException: ### Err ...

  5. Oracle数据库之七 多表查询

    七.多表查询 ​ 对于查询在之前已经学过了简单查询.限定查询.查询排序,这些都属于 SQL 的标准语句,而上一章的单行函数,主要功能是为了弥补查询的不足. ​ 而从多表查询开始就正式进入到了复杂查询部 ...

  6. 向Oracle数据库插入一条数据

    这几天搞了一下Oracle数据库.可能用sql server习惯了,感觉好不方便.PL的界面友好度比sql server差远了 .既然都收购了PL了 为什么不给它做好一点呢?各种不便.郁闷 向Orac ...

  7. Oracle 数据库基础:数据查询与操作

    SELECT uname FROM TUser WHERE uname=‘admin’ SELECT 字段名列表 FROM 表名 WHERE 条件; 在Oracle数据库中,对象是属于模式的,每个账户 ...

  8. Oracle数据库插入数据出错:ORA-06550

    wpf应用调用oracle的存储过程,出错“ORA-06550:参数个数或参数类型出错”,如下图: 反复检查,存储过程的参数个数和参数类型都没错,觉得非常蹊跷.最后终于解决, 原因是当参数的值为nul ...

  9. 解决关于:Oracle数据库 插入数据中文乱码 显示问号???

    问题: oracle数据库,通过接口插入的中文数据乱码,中文变成了问号??? 解决方案: 计算机=>属性=>高级系统设置=>环境变量=>新建 变量名:NLS_LANG 值:SI ...

随机推荐

  1. MsChart在MVC下的问题

    项目为webform和mvc混用,新建了Areas,在Areas目录下的aspx页面的图表无法显示. 解决方案 第一种方法: 将控件的ImageStorageMode设置为UseImageLocati ...

  2. jquery 清空 iframe 的内容,,iframe自适应高度

    $(iframe).contents().find("body").html(""); iframe自适应高度 $("#AllDescription& ...

  3. javascript 时间代理

    <button class="btn-active">按钮1</button> <button>按钮2</button> <b ...

  4. Less入门到上手——前端开发利器&lt&semi;二&gt&semi;深入了解

    接着昨天的继续... ... 4.嵌套: HTML部分 <table> <tr> <th colspan="3">测试列表标题</th&g ...

  5. Spark和hadoop的关系

    1. Spark VSHadoop有哪些异同点? Hadoop:分布式批处理计算,强调批处理,常用于数据挖掘和数据分析. Spark:是一个基于内存计算的开源的集群计算系统,目的是让数据分析更加快速, ...

  6. C&num;保存登录用户名供其他页面调用

    一.保存登录用户名供其他页面调用 步骤: (1)项目自带的Program.cs,类方法里定义登录的用户名为全局变量loginid,这样整个项目都可以调用它 static class Program { ...

  7. pwnable&period;kr bof之write up

    这一题与前两题不同,用到了静态调试工具ida 首先题中给出了源码: #include <stdio.h> #include <string.h> #include <st ...

  8. expdp导出文件,ORA-01555&colon; 快照过旧&colon; 回退段号 716

    快照号过旧,回退段号过小,信息如下:ORA-31693: 表数据对象 "CZBSDB"."SMS_RESULT_RECORD" 无法加载/卸载并且被跳过, 错误 ...

  9. ERP不规范,同事两行泪

    最近的很多次对外交流,都聊到了ERP建设的话题,并且无一例外的不那么让人省心,回想我这么多年走过的ERP坑坑路,在这里也写下经验和总结,希望能给正在或者即将走上ERP建设路的企业一些思考和帮助. 导读 ...

  10. sqlite3出现SQLITE&lowbar;BUSY错误码的原因以及解决方法

    转载:https://www.cnblogs.com/lijingcheng/p/4454884.html 转载:https://blog.csdn.net/venchia_lu/article/de ...