Oracle数据库表创建、删除(包括主键和索引)以及表结构的增_删_改SQL语句相关脚本

说白了,建表、批注、删除、更改、查看的操作其实和Excel操作Excel表格类似,但是数据库中的每一个动作都必须精确。

首先,创建表时最重要的是选择正确的字段类型。
例如,年龄可以使用 number(1 ) 来存储 1 到 9 岁的整数,但要存储年龄 0,则必须使用 number(2 )。
去年我们就因为这个改变了一天的项目。
还有一点是,约束名称可以任意选择,但像主键这样的关键字是最容易使用的。
如果像pk_age这样的关键字太长,很容易出错。
还有另一个重要的细节。
中英文的varchar2 (6 4 )和varchar2 (2 3 0)的长度是不同的。
英文表名和中文表名也占据不同的空间。

一开始我以为drop table和truncation table都会删除数据,后来发现不对。
drop物理删除表,所有文件都消失了; truncate 删除数据但保留表结构,就像重置游戏保存一样。

提醒:Delete from删除数据速度很慢,尤其是表有索引的情况下。
它必须一一删除并写入日志。
运行一百万张表可能会卡住一天。

最后,创建表时不要打乱字段的顺序。
默认情况下,数据库使用 order 作为索引。
改变结构时,alter tableappend比altertablealter要快,但是在表尾添加新字段是最不麻烦的。

各位帮帮忙。请分析该数据库需要建立多少个表,主键如何设置。图片在下方。

是的,这就是问题所在。
创建表时设置主键很简单,直接将主键写在字段后面即可。

直接用SQL编写,在图形界面中按住Ctrl选择字段,右键,选择主键。

一表一主键,多字段联合采用SQL方式。

单字段? 直接在其后添加主键。

sql中怎么设置主键

说白了,设置SQL主键有两种方式:建表时直接设置,或者以后添加。
我们先来说说最重要的事情。
主键必须能够唯一标识一行。
去年我们跑那个电商项目,完全依靠自增ID作为主键。
后来当数据量达到3 000条的级别时,查询效率崩溃了。
用行话来说,这称为雪崩效应。
事实上,前面的一点耽误就毁掉了后面的一切。
其次,主键不能为空。
很多人不重视这一点。
我们有一个项目,因为我们没有添加 NOT NULL,所以几乎产生了脏数据。
还有一个更重要的细节。
您应该小心复合主键。
例如,Users表使用“用户ID+订单号”作为主键。
起初我认为它很独特。
然而,当我更换系统后,我发现维护成本高得离谱。
一开始我以为主键只是为了防止复制,后来发现这是错误的。
它也是表之间关系的基础。
例如,当我们组合用户订单时,主键和外键就是生命线。
提醒:在更改主键类型之前,备份是不够的。
上次有人把INT改成了BIGINT,所有的数据都消失了,哭的地方都没有了。
建议除非绝对必要否则,您不应该接触现有的强主键。