iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Oracle系列:(17)创建表和约束
  • 436
分享到

Oracle系列:(17)创建表和约束

2024-04-02 19:04:59 436人浏览 独家记忆
摘要

回顾MySQL创建表语句users(id整型/name字符串/birthday日期型,默认值)drop table if exists users; cre



回顾MySQL创建表语句users(id整型/name字符串/birthday日期型,默认值)

drop table if exists users;
create table users(
   id int(5) auto_increment primary key,
   name varchar(4) not null,
   birthday date default '2015-4-27'
);




使用oraclesql,创建用户表users(id整型/name字符串/birthday日期/sal整型,默认今天)

create table users(
  id number(5) primary key,
  name varchar2(8) not null unique,
  sal number(6,2) not null,
  birthday date default sysdate
);

Oracle系列:(17)创建表和约束


进入回收站

drop table users;


查询回收站中的对象

show recyclebin;

Oracle系列:(17)创建表和约束


闪回,即将回收站还原

flashback table 表名 to before drop;
flashback table 表名 to before drop rename to  新表名;

Oracle系列:(17)创建表和约束

Oracle系列:(17)创建表和约束


彻底删除users表

drop table users purge;


清空回收站

purge recyclebin;

测试如下类型

(1)number(5):

insert into users(id,name,sal) values(1,'A',6666.66);     

insert into users(id,name,sal) values(11,'AA',6666.66);     

insert into users(id,name,sal) values(111,'AAA',6666.66);     

insert into users(id,name,sal) values(1111,'AAAA',6666.66);     

insert into users(id,name,sal) values(99999,'AAAAA',6666.66);     

insert into users(id,name,sal) values(100000,'AAAAAA',6666.66); 错

5表示最多存99999    


(2)number(6,2):

col sal for 9999.99

insert into users(id,name,sal) values(1,'A',6.66);     

insert into users(id,name,sal) values(11,'AA',66.666);     

insert into users(id,name,sal) values(111,'AAA',666.6666);     

insert into users(id,name,sal) values(1111,'AAAA',6666.66666);     

insert into users(id,name,sal) values(11111,'AAAAA',66666.666666);错 

number(6,2)

其中2表示最多显示2位小数,采用四舍五入,不足位数补0,同时要设置col ... for ... 

其中6表示小数+整数不多于6位

其中整数位数不得多于4位,可以等于4位

Oracle系列:(17)创建表和约束



(3)varchar2(8):

insert into users(id,name,sal) values(1,'A',7777.77);     

insert into users(id,name,sal) values(2,'AA',7777.77);     

insert into users(id,name,sal) values(3,'AAA',7777.77);     

insert into users(id,name,sal) values(4,'AAAA',7777.77);  

insert into users(id,name,sal) values(5,'AAAAA',7777.77);  

insert into users(id,name,sal) values(6,'AAAAAA',7777.77);  

insert into users(id,name,sal) values(7,'AAAAAAA',7777.77);  

insert into users(id,name,sal) values(8,'AAAAAAAA',7777.77);  

insert into users(id,name,sal) values(9,'AAAAAAAAA',7777.77);错

Oracle系列:(17)创建表和约束

  

insert into users(id,name,sal) values(1,'哈',7777.77);     

insert into users(id,name,sal) values(2,'哈哈',7777.77);     

insert into users(id,name,sal) values(3,'哈哈哈',7777.77);     

insert into users(id,name,sal) values(4,'哈哈哈哈',7777.77);  

insert into users(id,name,sal) values(5,'哈哈哈哈哈',7777.77);错  

Oracle系列:(17)创建表和约束


varchar2(8)

8表示字节

GBK 一个汉字 2字节

UTF-8 一个汉字 3字节


(4)date:默认格式为:'27-4月-15'

(5)CLOB【Character Large OBject】:大文本对象,即超过65565字节的数据对象,最多存储4G

(6)BLOB【Binary Large OBject】:大二进制对象,即图片,音频,视频,最多存储4G


为users表增加p_w_picpath列,alter table 表名 add 列名 类型(宽度) 

alter table users
add p_w_picpath blob;

Oracle系列:(17)创建表和约束


修改name列的长度为20个字节,alter table 表名 modify 列名 类型(宽度) 

alter table users
modify name varchar2(20);

Oracle系列:(17)创建表和约束


删除p_w_picpath列,alter table 表名 drop column 列名

alter table users
drop column p_w_picpath;

Oracle系列:(17)创建表和约束


重名列名name为username,alter table 表名 rename column 原列名 to 新列名

alter table users
rename column name to username;

Oracle系列:(17)创建表和约束


将users表重命名myusers,rename 原表名 to 新表名

rename users to myusers;

Oracle系列:(17)创建表和约束


注意:修改表时,不会影响表中原有的数据


笔试题:有【1000亿】条会员记录,如何用最高效的方式将薪水字段清零,其它字段内容不变?


第一:从emp表中删除sal字段

      alter table emp 
      drop column sal;

     


第二:向emp表中添加sal字段,且内容默认0

      alter table emp
      add sal number(6) default 0;


修改表不可回滚


创建表customers(单)和orders(多),使用primary key/not null/unique/default/foreign key约束

要体现【on delete cascade/on delete set null】

需求:删除客户,级联删除他所有的订单

      delete from customers where id = 1;

需求:删除客户,不级联删除他所有的订单,只是将外健设置为NULL

      delete from customers where id = 1;


create table customers(
  id number(3) primary key,
  name varchar2(4) not null unique
);
insert into customers(id,name) values(1,'A');
insert into customers(id,name) values(2,'B');
create table orders(
  id number(3) primary key,
  isbn varchar2(6) not null unique,
  price number(3) not null,
  cid number(3),
  --constraint cid_FK foreign key(cid) references customers(id) on delete cascade 
  constraint cid_FK foreign key(cid) references customers(id) on delete set null  
);
insert into orders(id,isbn,price,cid) values(1,'isbn10',10,1);
insert into orders(id,isbn,price,cid) values(2,'isbn20',20,1);
insert into orders(id,isbn,price,cid) values(3,'isbn30',30,2);
insert into orders(id,isbn,price,cid) values(4,'isbn40',40,2);


创建表students,包括id,name,gender,salary字段,使用check约束【性别只能是男或女,薪水介于6000到8000之间】

create table students(
  id number(3) primary key,
  name varchar2(4) not null unique,
  gender varchar2(2) not null check ( gender in ('男','女') ),
  salary number(6) not null check ( salary between 6000 and 8000 )
);

insert into students(id,name,gender,salary) values(1,'哈哈','中',6000);错

insert into students(id,name,gender,salary) values(2,'呵呵','男',5000);错

insert into students(id,name,gender,salary) values(3,'嘻嘻','女',7000);对








您可能感兴趣的文档:

--结束END--

本文标题: Oracle系列:(17)创建表和约束

本文链接: https://www.lsjlt.com/news/35636.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle怎么创建表外键约束
    要在Oracle数据库中创建表外键约束,可以使用以下语法: ALTER TABLE child_table ADD CONSTRAI...
    99+
    2024-03-13
    oracle
  • oracle的表级约束和列级约束有什么区别
    表级约束和列级约束都是用来保证数据的完整性和一致性的约束条件,但它们之间有一些区别: 表级约束是针对整个表的约束条件,而列级约束是...
    99+
    2024-04-20
    oracle
  • PostgreSQL检查约束中怎么设置列约束和表约束
    这篇文章主要介绍PostgreSQL检查约束中怎么设置列约束和表约束,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、什么是检查约束?设置某个字段里的数值必须满足约束表达式的条件。检查约束是最常见的约束类型,形式为“...
    99+
    2023-06-14
  • Oracle中怎么创建约束
    Oracle中怎么创建约束,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Oracle  创建主键,外键, check...
    99+
    2024-04-02
  • sqlserver怎么创建表的约束
    在SQL Server中,可以使用如下语法来创建表的约束: 主键约束(Primary Key Constraint): CREA...
    99+
    2024-04-02
  • oracle怎么创建主键约束
    要在Oracle数据库中创建主键约束,可以使用以下语法: ALTER TABLE table_name ADD CONSTRAINT...
    99+
    2024-04-09
    oracle
  • 【MySQL系列】表约束的学习
    「前言」文章内容大致是MySQL的表的约束。 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、MySQL表的约束1.1 空属性1.2 默认值(default)1.3 列描述(comme...
    99+
    2023-08-16
    mysql 学习 adb
  • 如何在MySQL中创建唯一约束和外键约束
    要在MySQL中创建唯一约束,可以使用以下语法: ALTER TABLE table_name ADD CONSTRAINT con...
    99+
    2024-04-09
    MySQL
  • mysql创建表外键约束怎么写
    在 mysql 中创建表外键约束可确保参照完整性。步骤如下:创建两个表并指定主键。在子表中添加 foreign key 约束,引用父表的主键。可选择指定引用操作(例如级联删除或限制更新)...
    99+
    2024-04-22
    mysql
  • 怎么使用sql语句创建表约束
    在使用SQL语句创建表时,可以使用以下约束来限制表中数据的规则和完整性:1. PRIMARY KEY约束:用于定义一个或多个列作为表...
    99+
    2023-09-05
    sql
  • Oracle数据库中怎么创建字段约束
    本篇文章给大家分享的是有关Oracle数据库中怎么创建字段约束,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。非空约束唯一约束对字段的取值的约束...
    99+
    2024-04-02
  • SQL创建表外键约束的语句怎么写
    这篇文章主要介绍SQL创建表外键约束的语句怎么写,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!SQL外键约束可通过FOREIGN KEY关键字来指定,创建语句为“ALTER TABL...
    99+
    2024-04-02
  • SQL Server数据库如何创建表及约束条件
    这篇文章主要介绍“SQL Server数据库如何创建表及约束条件”,在日常操作中,相信很多人在SQL Server数据库如何创建表及约束条件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”S...
    99+
    2023-07-04
  • 如何在SQLite中创建主键和外键约束
    在SQLite中,可以通过以下方式创建主键和外键约束: 创建主键约束: CREATE TABLE table_name ( ...
    99+
    2024-04-09
    SQLite
  • oracle怎么创建列表分区
    要在Oracle中创建列表分区,可以按照以下步骤进行操作:1. 首先,确保你有创建分区的权限。如果没有,可以联系数据库管理员进行授权...
    99+
    2023-08-18
    oracle
  • oracle如何创建自增序列表
    在Oracle中,可以使用序列(Sequence)来创建自增序列。序列是一个独立的对象,用于生成唯一的、递增的数字。以下是使用序列创...
    99+
    2023-09-23
    oracle
  • SQL Server数据库创建表及其约束条件的操作方法
    目录1.创建数据库:2.创建表:3.约束:3.1.Not  Null3.2.UNIQUE3.3.PRIMARY KEY3.4.FOREIGN KEY3.5.check3.6...
    99+
    2022-11-16
    SQL Server 创建表 SQL Server 约束条件
  • SQL Server数据库创建表及其约束条件的操作方法
    目录1.创建数据库:2.创建表:3.约束:3.1.Not  Null3.2.UNIQUE3.3.PRIMARY KEY3.4.FOREIGN KEY3.5.check3.6.DEFAULT撤销 DEFAULT ...
    99+
    2024-04-02
  • MySQL数据库高级操作实战(克隆表、清空表、创建临时表及约束)
    目录一、案例扩展二、克隆表1、方法一2、方法二三、清空表四、创建临时表五、创建外键约束,保证数据的完整性和一致性。六、mysql中6种常见的约束总结一、案例扩展 use kgc; create table if not ...
    99+
    2023-06-16
    mysql高级操作 MySQL数据库教程 mysql高级查询
  • oracle序列怎么创建和使用
    在Oracle数据库中,序列(Sequence)是一种生成唯一数字的对象,可以用于自动生成主键值或其他需要唯一数字的场景。以下是创建...
    99+
    2023-09-23
    oracle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作