8.数据库语言分类

来源:互联网 发布:福建公安便民网络 编辑:程序博客网 时间:2024/06/13 02:43
数据定义语言(DDL)(data defination language)
    创建(create)
                 语法:(数据类型和约束在其他笔记中总结)
                     create table table_name(
                         field_name field_type constraint 约束名 约束 ,
                         ..........)
                      create table table_name(
                         field_name field_type constraint 约束名 约束 ,
                         ..........
                         constraint 约束名 约束 (字段名) references 表名(字段名)) 
    修改(alter)
        alter table 表名
                修改表中字段
                1.add(列名 数据类型)
                  例:alter table tt add sex number(1)
                2.modify(列名 数据类型)
                  例:alter table tt drop (sex)
                修改数据类型
                3.drop(列名)(加括号)
                  例: alter table tt modify id number(18)
                修改表中约束
                删除约束
                alter table t drop primary key
                drop primary key
                drop fconstraint 外键约束名
                drop unique(列名)
                添加约束
                alter table t add primary key (id)
                add primary key|foreign key|constraint|unique (列名)
                禁用约束
                alter table t disable constraint t_tt_id_fk
                disable constraint 约束名
                启用约束
                alter table t enable constraint t_tt_id_fk
                enable constraint 约束名
    删除(drop)
        删除表
                drop table 表名
                当一个表中的主键在另一个表中作为外键使用时,存在关联关系,该表不能被删除,引用外键的表可以被删除
数据查询语言(DQL)(data query language)
 
  按照指定的组合、条件表达式或排序索引已存在的数据库中的数据,不改变数据库中数据。
 
      查询(select)
                例: 查询当前系统时间: select sysdate from dual;

数据操纵语言(DML)(data manipulation language)
   
      向表中添加(insert)、删除(delete)和修改(update)数据操作
       
       添加(insert)
                单条数据增加(非数值型的用单引号)
                          语法:insert into 表名 [字段列表] values (值列表)
                 多条数据增加
                           例: insert into userss select id,user_name,password,email from users
                          这个相当于复制表,在表数据迁移时会用到,一般不会用 在Oracle数据库中不支持values一次插入多条数据,在MySql,SqlServer中支持
     删除(delete)
                truncate table 表名
                不需要执行commit,就可以将表中数据删除
                 delete from 表名[where......]
                需要执行commit,提交事务
     修改(update)
                update 表名 set column1=...,column2=... [where......]

     事务:   一组DML语句需要一起提交,一起回滚
                 作用: 避免脏数据的产生
      
        jdbc中自动提交事务
                connection类中有一个方法setAutoCommit(false),设置jdbc是否自动提交事务
                设置为false,执行过程爆发异常,可以通过catch语句块中connection.rollback(),将前面执行的语句回滚
                默认是true,如果出现异常,有些需要同时成功的语句会出现错误

数据控制语言(DCL)(data control language)
    用来授予(grant)或回收访问(revoke)数据库的某种特权、控制数据操纵事务的发生时间及效果、对数据库进行监视等。
     提交数据(commit) 、回滚(rollback)
        授予权限(grant)
        回收权限(revoke)
        提交数据(commit)
        回滚(rollback)
                savepoint begin_t(在当前事务中标记保存点)
                rollback to begin_t(回滚当前事务到指定的保存点从而丢弃保存点后对数据库的任何改变)

改名字 :rename 旧名字 to 新名字
原创粉丝点击