Oracle学习——数据库定义语言(DDL)建表、删表、修改表
DDL语言主要是帮助我们创建数据库对象的。
- CREATE:创建数据库对象
- DROP:删除数据库对象
- ALTER:修改数据库对象
- RENAME:修改数据库对象名称
这要注意数据库对象不止包括有表,这些对象包括:用户,视图,索引,序列等等。
1、创建表(CREATE)
语法结构:
1 2 3 4 5 | CREATE TABLE 表名 (列名1 列类型, 列名2 列类型, ... ); |
其实所有的数据库对象的创建操作都是同样的语法:CREATE 对象类型 对象名....
1.1、数据库中表的种类(Oracle)
用户表:
- 由用户创建和维护的表的集合。
- 包含用户信息。
数据字典:
- 由Oracle服务器创建和维护的表的集合
- 包含数据库信息
查看本用户所拥有的表的名称:user_tables
1 2 | SELECT table_name FROM user_tables |
查看本用户所拥有的不同的对象类型:user_objects
1 2 | SELECT DISTINCT object_type FROM user_objects |
查看本用户所拥有的表、视图、同义词和序列:user_catalog
1 2 | SELECT * FROM user_catalog |
1.2、使用查询创建表
类似于复制一张表的某些字段以及数据,新表的字段类型以及字段名与查询出来的字段类型一致,并且查询出来的数据也会直接插入进这个新表。
语法结构:
1 2 3 | CREATE TABLE 新表名 AS ( SELECT 列1 别名1, 列2 别名2, ... FROM 表 [ WHERE condition]) |
这里我们会先执行查询语句,将查询到的列在新表中创建同样的列(如果指定了别名则新表的列名就会是这个别名),并且会将查询到的数据插入到新表中。
2、修改列信息(ALTER)
ALTER TABLE语句可以修改表内数据的信息,包括:
- 添加一个新列
- 修改一个已存在的列(列名,列类型,默认值)
- 删除一个列
2.1、添加一个新列(ADD)
语法结构:
1 2 3 | ALTER TABLE 表名 ADD (列名 类型 [ DEFAULT expr], 列名2 类型 [ DEFAULT expr], ...) |
2.2、修改某一列属性(MODIFY)
语法结构:
1 2 3 | ALTER TABLE 表名 MODIFY (列名 类型 [ DEFAULT expr], 列名2 类型 [ DEFAULT expr], ...) |
2.3、修改某一列的列名 (RENAME)
语法结构:
1 2 | ALTER TABLE 表名 RENAME COLUMN 旧列名 TO 新列名 |
使用RENAME COLUMN关键字来修改列名(批量修改还不知咋弄)。
2.4、删除某一列(DROP)
1 2 | ALTER TABLE 表名 DROP COLUMN (列名1, 列名2,...) |
3、修改表名称(RENAME TABLE)
注意这里是修改表的名称,而不是对表中列的信息进行操作。其实RENAME可以修改所有数据库对象(包括表,列,序列等等)的名称。
语法结构:
1 | RENAME 旧表名 TO 新表名 |
4、截断表(TRUNCATE TABLE)
对表中的所有数据进行删除,但是会保留表结构。DELETE需要commit进行提交并且可以按条件删除,但TRUNCATE不能支持给定条件删除。
语法结构:
1 | TRUNCATE TABLE 表名 |
5、删除表(DROP TABLE)
将整个表删除,并且会释放表的空间。其实DROP还可以删除其他的数据库对象。
语法结构:
1 | DROP TABLE 表名 |
以上内容如有错误,恳请指正
分类:
Oracle
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
2021-08-25 Python读取、修改、保存xml文件