SQL 必知必会 Chapter 17 —— 创建和操纵表
2019-03-17 16:07
148 查看
版权声明:From James Lu https://blog.csdn.net/weixin_44617258/article/details/88620971
SQL 必知必会 Chapter 17 创建和操纵表
typora-copy-images-to: SQL 必知必会
文章目录
SQL 必知必会 Chapter 17 创建和操纵表
17.1 创建和操纵
-
多数DBMS 都具有交互式创建和管理数据库表的工具
-
表也可以直接用SQL 语句操纵
-
创建表使用CREATE TABLE 必须给出以下信息
新表的名字,在关键字CREATE TABLE 之后给出 - 表列的名字和定义,用逗号分隔
- 有的DBMS 还要求指定表的位置
CREATE TABLE Products ( prod_id CHAR(10) NOT NULL, vend_id CHAR(10) NOT NULL, prod_name CHAR(254) NOT NULL, prod_price DECIMAL(8,2) NOT NULL, prod_desc VARCHAR(1000) NULL ); # 如果要替换现有的表,SQL 要求首先手工删除该表(请参阅后面的内容),然后再重建它
-
在不指定NOT NULL 时,多数DBMS 认为指定的是NULL
-
主键是其值唯一标识表中每一行的列。只有不允许NULL值的列可作为主键,允许NULL 值的列不能作为唯一标识
-
NULL 值是没有值,不是空字符串,空字符串是一个有效的值,它不是无值
-
指定默认值
CREATE TABLE OrderItems ( order_num INTEGER NOT NULL, order_item INTEGER NOT NULL, prod_id CHAR(10) NOT NULL, quantity INTEGER NOT NULL DEFAULT 1, item_price DECIMAL(8,2) NOT NULL ); # 注意DEFAULT # 默认值经常用于日期或时间戳列 # MySQL 用户指定DEFAULT CURRENT_DATE()
17.2 更新表
-
使用ALTER的注意事项
理想情况下,不要在表中包含数据时对其进行更新。应该在表的设计过程中充分考虑未来可能的需求,避免今后对表的结构做大
改动。 - 所有的DBMS 都允许给现有的表增加列,不过对所增加列的数据类型(以及NULL 和DEFAULT 的使用)有所限制
- 许多DBMS 不允许删除或更改表中的列
- 多数DBMS 允许重新命名表中的列
- 许多DBMS 限制对已经填有数据的列进行更改,对未填有数据的列几乎没有限制
在ALTER TABLE 之后给出要更改的表名(该表必须存在,否则将出错)
列出要做哪些更改
ALTER TABLE Vendors ADD vend_phone CHAR(20); # 这条语句给Vendors 表增加一个名为vend_phone 的列,其数据类型为CHAR。
- 我们应该在进行改动前做完整的备份
17.3 删除表
DROP TABLE Custcopy;
- 使用关系规则防止意外删除
- 如果对某个表发布一条DROP TABLE 语句,且该表是某个关系的组成部分,则DBMS 将阻止这条语句执行,直到该关系被删除为止。
17.4 重命名表
- 所有重命名操作的基本语法都要求指定旧表名和新表名
- MySQL用户使用RENAME语句
17.5 小结
- 介绍了几条新的SQL 语句。CREATE TABLE 用来创建新表,ALTER
TABLE 用来更改表列(或其他诸如约束或索引等对象),而DROP TABLE
用来完整地删除一个表。这些语句必须小心使用,并且应该在备份后使
用。由于这些语句的语法在不同的DBMS 中有所不同,所以更详细的信
息请参阅相应的DBMS 文档
相关文章推荐
- SQL学习笔记5 组合查询 插入/更新/删除数据 创建和操纵表
- 读书笔记--SQL必知必会17--创建和操纵表
- SQL 必知必会·笔记<15>创建和操纵表
- SQL 必知必会 Chapter 19 —— 使用存储过程
- SQL 必知必会 Chapter 21 —— 使用游标
- SQL 必知必会 Chapter 22 —— 高级SQL特性
- SQL 必知必会-- 第17课:创建和操作表
- 16.创建与操纵表--SQL
- 在腾讯云上创建您的SQL Cluster(1)
- sql中创建主键非聚集索引和聚集索引
- T-SQL存储过程创建PDF格式文件(报表)
- sql语句2——表的创建、删除
- Answer to Chapter 7 of O'Reilly Learning Sql on SQL Server 2005
- 利用Oracle SQL Developer创建database link数据库连接
- Oracle SQLDeveloper连接数据库并创建用户
- sql 创建聚集索引和非聚集索引
- Chapter 17 Replication
- 使用SQL语句为SQL Server 2005创建全文索引
- oracle共享服务器创建成功后,通过jdbc连接数被限制,报错:java.sql.SQLException: Io 异常: End of TNS data channel解决方法
- [using_microsoft_infopath_2010]Chapter 11 创建审批流程