• 三大类sql语句——该记录是本人以前微博上的文章



    一、DML语句
    二、DDL语句
    三、事务控制语句
    一、DML语句-Data Mulipulation Language
    DML语句数据操作野菊执行后会生成一个事务,事务需要提交才能够永久生效,在commit前是可以进行回滚撤销操作的!
    1、insert into 插入语句
    (1)、插入日期 
    insert into emp values('tengjiang',to_date('1990-7-19','yyyy-mm-dd'));
    插入日期型数据的时候必须要使用to_date语句,这样可将字符转换为日期格式;
    (2)、插入有三种种格式
    a、insert into emp(values1,values2,values3);
    b、insert into emp(empno,ename,job) values(values1,values2,values3);
    c、insert into  bonus select(); 将查询结果放入另外一张表中,相当于复制数据;
    insert into bonus select ename,job,comm from emp;将emp表中的ename,job,comm三个字段的放入bonus表中;
    2、update修改update emp set修改内容
    update bonus set(sal,comm)=(select sal,comm form bonus where ename='TENGJIANG')
    where  ename='ZHANGSAN';
    3、delete 删除
    (1)、delete from bonus where ename='TENGJIANG';将姓名为滕江的这条数据删除;
    (2)、delete  bonus;直接删除所有数据,保留表结构;
    DML语句在进行操作时,需要commit才能生效,如不commit,下次重新连接数据库时数据又会恢复成原来状态;
    二、DDL语句数据定义语句,操作表结构的,无需提交即可生效;
    1、truncate 删除语句,快速删除表内容,名义上属于DML语句,实际上属于DDL语句,直接生效不需要手动提交,不能进行回滚;
    truncate table bonus;
    2、create table test(字段 数据类型,字段2 数据类型)
    (1)、create table test (name varchar(20),nianling number(3),sal number(10));
    创建test表格包含三个字段
    insert into test values('tengjiang',20,3000);
    number(m,n):定义最大位数是m,精确到小数点后n位的数字类型,m最大位数不能超过38位
    char(n):定义长度为n的固定长度的字符类型,这个n的最大值是2000个字节
    ----如果存储的字符长度不到n,会使用空格补齐到n个字节进行存储
    varchar2(n):定义最大长度为n的可变长度的字符类型,n的最大值是4000个字符
    ----按照实际输入的字符长度进行存储
    char():浪费空间,查询效率较高
    varchar2():节省空间,查询效率较低
    date:日期类型,公元前4712年1月1日到公元后4712年12月31日
    number(m,n):定义最大位数是m,精确到小数点后n位的数字类型,m最大位数不能超过38位
    char(n):定义长度为n的固定长度的字符类型,这个n的最大值是2000个字节
    ----如果存储的字符长度不到n,会使用空格补齐到n个字节进行存储
    varchar2(n):定义最大长度为n的可变长度的字符类型,n的最大值是4000个字符
    ----按照实际输入的字符长度进行存储
    char():浪费空间,查询效率较高
    varchar2():节省空间,查询效率较低
    date:日期类型,公元前4712年1月1日到公元后4712年12月31日

    create table test3
    (
    testid number(4),
    testname varchar2(20),
    testgender char(1) default 'M',
    testage number(3) default 18,
    testcore number(4,1),
    testdate date
    );
    (2)、create tabel 表名as select将查询的结果建立成一张新表
    create table test2 sa select * from test;
    3、alert 修改表结构
    (1)、alter table 表名 add 列名 数据类型    添加一列
    alter table test2 add testid number(4);
    (2)、alter table 表名drop colume 列名;  删除一列
    alter table test2 drop  column testid;
    (3)、alter table 表名 rename column 原列名 to 新列名;
    alter table test2 rename column  nianling to age;               修改字段名称
    (4)、alter table 表名 modify 列名 数据类型;
    alter table test2 modify age number(4);
    (5)、添加、修改、删除默认值
    alter table 表名 modify 列名 default 默认值;
    alter table 表名 modify 列名 default null;
    4、drop 删除表
    drop table 表名;
    drop table test;
    -----delete:属于dml语句,需要提交才能生效,可以回滚撤销操作,可以删除表中所有数据
    -----也可以只删除条件范围内的数据,保留表结构
    -----truncate:属于ddl语句,直接生效不需要提交,也不能回滚。快速删除表中的所有数据
    ----不能指定范围删除,保留表结构
    -----drop:属于ddl语句,直接生效不需要提交,也不能会馆。删除数据和表的结构
    5、rename 重新命名表
    rename 原表名 to 新表名

  • 相关阅读:
    JAVA使用Marvin在图片中搜索图片
    Apache 4.x HttpClient
    关于Java 项目的思考总结
    追查Could not get a databaseId from dataSource
    web项目中从不同的路径读取文件
    JDBC通用方法实现
    CentOS6.4下Mysql数据库的安装与配置
    使用 Spring 容器管理 Filter
    CentOS安装JAVA
    为github帐号添加SSH keys
  • 原文地址:https://www.cnblogs.com/tengjiang/p/9063636.html
Copyright © 2020-2023  润新知