当前位置: 澳门新濠3559 > 数据库 > 正文

而Oracle数据库可以正常使用check约束,数据定义语

时间:2019-11-29 07:15来源:数据库
而Oracle数据库可以正常使用check约束,数据定义语言DDL用于建立。数据定义语言(DDL) CREATE TABLE/VIEW/INDEX/SYN/CLUSTER MySQL数据库上:DDL语句的基础巩固 SQL语言包括四种主要程序设计语言类
  1. 而Oracle数据库可以正常使用check约束,数据定义语言DDL用于建立。数据定义语言(DDL)

CREATE TABLE/VIEW/INDEX/SYN/CLUSTER

MySQL数据库上:DDL语句的基础巩固

SQL语言包括四种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML),数据控制语言(DCL)和事务控制语言。

数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。一个数据库模式包含该数据库中所有实体的描述定义。数据库模式定义语言并非程序设计语言,DDL数据库模式定义语言是SQL语言(结构化程序设计语言)的组成部分。

下面给出一个完整的DDL语句练习过程,在MySQL6测试通过:

//创建数据库
create database if not exists mydb;
//删除数据库
 drop database mydb;
//使用数据库
use mydb;
//建表
 create table tb1
 (
 id int,
 name varchar(255) default 'anonymity',
 info text
 );

//查看该数据库的表
 show tables;
 //查看表结构
 desc tb1;
 //截断表:删除表内所有数据但是保留表结构。(DDL)相对于delete(DML)执行效率更高
 truncate tb1;
 //添加主键约束
 alter table tb1 modify id int primary key;
 //添加唯一约束,即不允许出现重复值,但是可以出现多个null,因为null不等于null
 alter table tb1 modify name varchar(255) unique;

 //建表并添加主键、外键约束
 create table tb2
 (
 id int primary key auto_increment,
 fid int,
 name varchar(255) default 'anonymity' not null,
 info text,
 #建立外键约束,约束名为tb2_fk,
 constraint tb2_fk foreign key(fid) references tb1(id)
 );
 //删除外键约束
 alter table tb2 drop foreign key tb2_fk;
 //添加外键约束
 alter table tb2 add foreign key(fid) references tb1(id);

MySQL对check约束的支持并不太好,虽然可以定义此约束,单没有任何作用

 //添加check约束,会添加成功,但不会生效
 alter table tb1 add check(id>5);
 //下面可以正常执行
 insert into tb1 values(1,'a','one');

而Oracle数据库可以正常使用check约束,下面是Oracle 10g 的运行效果:

 //oracle数据库支持check约束
 create table tb3
(
id number(8),
name varchar(255),
check(id>100)
);
//不满足check约束将会出错
insert into tb3 values(600,'six');
insert into tb3 values(6,'six');

下面是控制台的输出:

-------------------------------------------------------------------------------------
SQL> create table tb3
  2  (
  3  id number(8),
  4  name varchar(255),
  5  check(id>100)
  6  );
Table created

SQL> insert into tb3 values(6,'six');
insert into tb3 values(6,'six')
ORA-02290: check constraint (SCOTT.SYS_C005457) violated

SQL> insert into tb3 values(600,'six');
1 row inserted
-------------------------------------------------------------------------------------

SQL语言包括四种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML),数据控制语言(D...

  1. 数据控制语言(DCL)

1) GRANT:授权。

  1. 数据操作语言(DML)

3) 删除:DELETE

数据操作语言用于操作数据库中的数据。最为常用。典型代表有SELECT、INSERT、UPDATE、DELETE等语句。

数据定义语言DDL用于建立,修改,删除数据库中的各种对象-----表、视图、

数据控制语言是用来管理数据库的语言,包含管理权限及数据更改。例如GRANT、REVOKE、COMMIT、ROLLBACK等语句

DML:数据操作语言

数据定义语言用于定义和管理对象,例如数据库、数据表及视图等。典型代表有CREATE、DROP、ALTER等。通常用于创建、删除对象及修改其属性。

澳门新濠3559,常见分类:

SQL语言包含3个部分:数据定义语言(DDL),数据操作语言(DML),数据控制语言(DCL)

1) 插入:INSERT

主要有三种形式:

DDL:数据定义语言

DDL的一部分功能约束

2)REVOKE:撤回。

包含两条命令:

完整性定义语言:

数据操纵语言DML用于改变数据库数据

表 视图 索引 同义词 簇

事务控制

DCL:数据控制语言,如授权

索引、同义词、聚簇等如:

嵌入式SQL和动态SQL

其它分类:

视图定义:即虚表,就是存储下来的SELECT语句

约束:包括主键,外键,唯一键,条件,非空,事务等各类约束

数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制

2) 更新:UPDATE

数据库操纵事务发生的时间及效果,对数据库实行监视等。

编辑:数据库 本文来源:而Oracle数据库可以正常使用check约束,数据定义语

关键词: