操作练习代码,知识点往下翻
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. Redis 3.2.4集群实战

    一.Redis Cluster集群设计Redis集群搭建的方式有多种,例如使用zookeeper等,但从redis3.0之后版本支持Redis-Cluster集群,Redis-Cluster采用无中心 ...

  2. linux 文件句柄数查看命令

    当你的服务器在大并发达到极限时,就会报出“too many open files”. 查看线程占句柄数ulimit -a 输出如下:core file size (blocks, -c) 0data ...

  3. mysql 查找在另一张表不存在的数据

    有两个表Phone_book, Call: Phone_book +----+------+--------------+ | id | name | phone_number | +----+--- ...

  4. jemalloc总结

    jemalloc支持SMP系统和并发多线程,多线程的支持是依赖于多个'arenas',并且一个线程第一次调用内存mallocer,与其相关联的是一个特殊的arena. 线程分配arena只有三种可能的 ...

  5. Spring总结 3.AOP(xml)

    本随笔内容要点如下: 什么是AOP AOP术语解释 Spring中AOP的xml实现 一.什么是AOP AOP(Aspect Oriented Programming),即面向切面编程.那什么是面向切 ...

  6. js 之 this的用法

    该篇文章混合了比较多文章,由于自己也水平有限,大家就将就着看下吧,详情可以参看<JavaScript语言精粹>,不过文章提供了很多例子,供大家参阅思考. 首先关于this我想说一句话,这句 ...

  7. JavaScript学习总结(五)——jQuery插件开发与发布

    jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...

  8. 使用 Node.js 搭建微服务网关

    目录 Node.js 是什么 安装 node.js Node.js 入门 Node.js 应用场景 npm 镜像 使用 Node.js 搭建微服务网关 什么是微服务架构 使用 Node.js 实现反向 ...

  9. python 历险记(六)— python 对正则表达式的使用(上篇)

    目录 引言 什么是正则表达式? 正则表达式有什么用? 正则表达式的语法及使用实例 正则表达式语法有哪些? 这些正则到底该怎么用? 小结 参考文档 系列文章列表 引言 刚接触正则表达式,我也曾被它们天书 ...

  10. Java枚举的下标值

    java中枚举值下标默认从0开始,可以用ordinal()这个方法获取下标值. public enum Sex { MALE(1,"男"),FEMALE(2,"女&quo ...