Oracle PL / SQL 表 table

关系数据库允许您在数据库管理系统(DBMS)中存储多个表。

您可以使用计算机上的查询语言来操作表中的数据。

当前的查询语言是结构化查询语言(SQL)。

SQL是一组无关的命令,用于操作关系数据库管理系统(RDBMS)中的表中的数据。

关系数据库中的表是关于如何在存储数据时组织数据的逻辑定义。

实例:

表1-1。关系数据库Geniuses(作者)

ID Name Born Gender
100 Tom 1983 Male
200 Jack 1981 Male
300 Jane 1983 Male

表1-2。关系天才的出版物(作者出版物)

ID Author ID Title Written
10 100 Learn Oracle 1970
20 100 Learn CSS 1990
30 200 An Introduction to Database Systems 2003
40 200 Learn SQL 2000
50 200 Learn HTML 2002
60 200 Learn Database 2005
70 300 Learn SQL 2000
80 300 Learn HTML 2012

如果你看表​​1-1中的tom数据,你会看到他的ID为100.接下来,如果你看表​​1-2中的ID 100的数据,你会看到他写了两个标题:您可以通过使用这两个表中的公共基准来找到每个作者所编写的出版物ID。

  • 学习Oracle
  • 学习CSS

这两个表具有关系,因为它们共享具有相同值的ID列。

注意

下表是表1-1的表定义

Column Number Column Name Data Type
1 ID Number
2 Name Character
3 Birth Date Date
4 Gender Character

要创建如表1-3中定义的authors表,在Oracle中,您需要创建一个SQL脚本。数据定义语言(DDL)

在SQL中,它被称为数据定义语言(DDL)。

它是用于定义关系数据库的SQL。

以下代码显示了authors表的DDL。

CREATE TABLE authors ( 
 id number(38), 
 name varchar2(100), 
 birth_date date, 
 gender varchar2(30) 
); 

CREATE TABLE语句的语法如下:

CREATE TABLE <table_name> ( 
    <column_name_1> <data_type_1>, 
    <column_name_2> <data_type_2>, 
    <column_name_N> <data_type_N> 
); 

<table_name>是表的名称,<column_name>是列的名称,<data_type>是Oracle数据类型之一。

以下是您最常使用的Oracle数据类型:

VARCHAR2:最多可存储32,767字节的文本,如列中的数据。必须通过在关键字VARCHAR2之后的括号中指定所需的数字来定义最大字符数。

NUMBER:存储精度为38位的十进制数。您可以控制数字的大小。您可以通过在关键字后面的括号中指定所需的约束,指定小数点左边的最大位数,后跟逗号(,),也可以指定小数点右边的最大小数位数。数。

DATE:存储日期和时间值。

要创建author_books表,请按照下列步骤操作。

CREATE TABLE author_books(id number(38),title varchar2(100),publish_date date);

索引

您应该在每个表的主键列上创建唯一索引。

主键列唯一标识表中的条目。

在authors表中,该主键列是id。

让我们对authors表的name,birth_date和gender列创建一个唯一索引。

CREATE UNIQUE INDEX authors_uk1 on authors (name, birth_date, gender ); 

CREATE INDEX语句的语法如下:

CREATE [UNIQUE] INDEX <index_name> on <table_name> ( 
    <column_name_1>, 
    <column_name_2>, 
    <column_name_N> 
); 

其中<index_name>是索引的名称,<table_name>是表的名称,<column_name>是列的名称。

关键字UNIQUE是可选的,由[ ]它周围的方括号表示。

这意味着数据库必须检查以确保列的值的组合在表中是唯一的。

以下DDL显示如何在发布表中的标题列上创建索引。

CREATE INDEX author_books_k1 on author_books (title); 

CSDN:程序猿 寄语:

1、作为一个真正的程序员,首先应该尊重编程,热爱你所写下的程序,他是你的伙伴,而不是工具。

2、程序员可以让步,却不可以退缩,可以羞涩,却不可以软弱,总之,程序员必须是勇敢的。

3、编程是一种单调的生活,因此程序员比普通人需要更多的关怀,更多的友情。

4、程序不是年轻的专利,但是,他属于年轻。

5、没有情调,不懂浪漫,也许这是程序员的一面,但拥有朴实无华的爱是他们的另一面。

6、一个好汉三个帮,程序员同样如此。

7、一个100行的代码调试都可能会让程序员遇到很多挫折,所以,面对挫折,我们永远不能低头。

8、调试完一个动态连接函数,固然值得兴奋,但真正的成功远还在无数个函数之后。

9、程序是我的生命,但我相信爱她甚过爱我的生命。

10、信念和目标,必须永远洋溢在程序员内心。

11、就算我们站在群山之颠,也别忘记雄鹰依旧能从我们头顶飞过。骄傲是比用JAVA进行底层开发更可笑的东西。

相关推荐
Hacker_LaoYi8 分钟前
【渗透技术总结】SQL手工注入总结
数据库·sql
岁月变迁呀10 分钟前
Redis梳理
数据库·redis·缓存
独行soc10 分钟前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
你的微笑,乱了夏天1 小时前
linux centos 7 安装 mongodb7
数据库·mongodb
工业甲酰苯胺1 小时前
分布式系统架构:服务容错
数据库·架构
独行soc2 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘
White_Mountain2 小时前
在Ubuntu中配置mysql,并允许外部访问数据库
数据库·mysql·ubuntu
Code apprenticeship2 小时前
怎么利用Redis实现延时队列?
数据库·redis·缓存
百度智能云技术站2 小时前
广告投放系统成本降低 70%+,基于 Redis 容量型数据库 PegaDB 的方案设计和业务实践
数据库·redis·oracle
装不满的克莱因瓶2 小时前
【Redis经典面试题六】Redis的持久化机制是怎样的?
java·数据库·redis·持久化·aof·rdb