SQL必知必会——创建和操纵表(十七)
1、创建表
一般有两种创建表的方法:
多数DBMS都具有交互式创建和管理数据库表的工具
表也可以直接用SQL语句操纵
1.1、表创建基础
CREATE TABLE products
(
prod_id,CHAR(10),NOT NULL,
vend_id,CHAR(10),NOT NULL,
prod_name,CHAR(10),NOT NULL,
prod_price,DECIMAL(8,2),NOT NULL,
prod_desc,VARCHAR(1000),NULL
);
1
2
3
4
5
6
7
8
1.2、使用NULL值
允许NULL值的列也允许在插入行时不给出该列的值。不允许NULL值的列不接受没有列值的行,换句话说,在插入或更新行时,该列必须有值。
每个表列要么是NULL列,要么是NOT NULL列,这种状态在创建表由表的定义规定。
1.3、指定默认值
SQL允许指定默认值,在插入行时如果不给出值,DBMS将自动采用默认值。
CREATE TABLE products
(
prod_id,CHAR(10),NOT NULL,
vend_id,CHAR(10),NOT NULL,
prod_name,CHAR(10),NOT NULL,
prod_price,DECIMAL(8,2),NOT NULL DEFAULT 1,
prod_desc,VARCHAR(1000),NULL
);
#在这个例子中,这一列的描述增加了DEFAULT 1,指示DBMS,如果不给出数量则使用数量1
1
2
3
4
5
6
7
8
9
2、更新表
更新表定义,可以使用ALTER TABLE语句。虽然所有的 DBMS都支持ALTER TABLE,但他们所允许更新的内容差别很大。一下时使用ALTER TABLE时需要考虑的事情:
理想情况下,不要再表中包含数据时对其进行更新。应该再表的设计过程中充分考虑未来可能的需求,避免今后对表的结构做大改动、
所有的DBMS都允许给现有的表增加列,不过对所增加的数据类型有所限制
许多DBMS不允许删除或更改表中的列
多数DBMS允许重新命名表中的列
许多DBMS限制对已经填有数据的列进行更改,对未填有数据的列几乎没有限制
ALTER TABLE Vendors
ADD vend_phone CHAR(20);
#给Vendors表增加一个名为vend_name的列,其数据类型未CHAR
1
2
3
3、删除表
DROP TABLE CustCopy;
#删除整个表而不是内容
1
2
4、重命名表
每个DBMS对表重命名的支持有所不同。对应这个操作,不存在严格的标准。DB2,MariaDB,MySQL,Oracle和PostgreSQL用户使用RENAME语句,SQL Server用户使用sp_rename存储过程,SQLite用户使用ALTER TABLE语句。
---------------------
SQL必知必会——创建和操纵表(十七)的更多相关文章
- SQL 必知必会·笔记<15>创建和操纵表
创建表的两种办法: 使用DBMS 提供的交互式创建和管理数据库表的工具: 直接用SQL 语句创建. 表创建基础 创建表示例: CREATE TABLE Products ( prod_id ) NOT ...
- 【SQL必知必会笔记(1)】数据库基础、SQL、MySQL8.0.16下数据库、表的创建及数据插入
文章目录 1.数据库基础 1.1 数据库(database) 1.2 表(table) 1.3 列和数据类型 1.4 行 1.5 主键 2.什么是SQL 3.创建后续练习所需数据库.表(MySQL8. ...
- SQL 必知必会-- 第17课:创建和操作表
我这里用的是oracle 10g,PL/SQL来做的. 第17课 创建和操纵表 14517.1 创建表 14517.2 更新表 15017.3 删除表 15317.4 重命名表 1 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- SQL 必知必会
本文介绍基本的 SQL 语句,包括查询.过滤.排序.分组.联结.视图.插入数据.创建操纵表等.入门系列,不足颇多,望诸君指点. 注意本文某些例子只能在特定的DBMS中实现(有的已标明,有的未标明),不 ...
- SQL 必知必会 总结(一)
SQL必知必会 总结(一) 第 1 课 了解SQL 1.数据库(database): 保存有组织的数据容器(通常是一个文件或一组文件). 2.数据库管理系统(DBMS): 数据库软件,数据库是通过 D ...
- 读书笔记--SQL必知必会--建立练习环境
书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL in 10 Minutes - Fourth Edition> MyS ...
- 读书笔记--SQL必知必会12--联结表
12.1 联结 联结(join),利用SQL的SELECT在数据查询的执行中联结表. 12.1.1 关系表 关系数据库中,关系表的设计是把信息分解成多个表,一类数据一个表,各表通过某些共同的值互相关联 ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- 《SQL必知必会》笔记
SQL必知必会(第4版) 作者:[美]Ben Forta 本书介绍了sql在不同数据库工具(Oracle.SQLite.SQL server.MySQL.MariaDB.PostgreSQL...)是 ...
随机推荐
- Windows Server服务器之用户界面,任务管理器等
用户界面简化服务器管理.跟Windows 8一样,重新设计了服务器管理器,采用了Metro界面(核心模式除外).在这个Windows系统中,PowerShell已经有超过2300条命令开关(Windo ...
- AT2070 Card Game for Three(组合数学)
传送门 解题思路 前面的思路还是很好想的,就是要枚举最后一个\(a\)在哪出现算贡献,之后我先想的容斥,结果彻底偏了..后来调了很久发现自己傻逼了,似乎不能容斥,终于走上正轨23333.首先可以写出一 ...
- tom
题目描述 众所周知,Tom 猫对香肠非常感兴趣.有一天,Tom 家里的女主人赏给了Tom 一大堆香肠.这些香肠太多了,以至于Tom 一顿吃不完,于是它把这些香肠串成了一棵树,树的每个节点上都有一个香肠 ...
- [CSP-S模拟测试]:阴阳(容斥+计数+递推)
题目传送门(内部题16) 输入格式 第一行两个整数$n$和$m$,代表网格的大小.接下来$n$行每行一个长度为$m$的字符串,每个字符若为$W$代表这个格子必须为阳,若为$B$代表必须为阴,若为$?$ ...
- 【Angular】No component factory found for ×××.
报错现象: 用modal打开某个组件页面时报错 报错:No component factory found for UpdateAuthWindowComponent. Did you add it ...
- 指针的value
全局变量的默认初始化值为0,char为空字符——'\0',string为"\0 " char c; string s; ; int main() { cout << p ...
- [题解]Print a 1337-string...-数学(codeforces 1202D)
题目链接:https://codeforces.com/problemset/problem/1202/D 题意: 构造一串只由 ‘1’,‘3’,‘7’ 组成的字符串,使其 ‘1337’ 子序列数量为 ...
- python 查看以及更新安装包
查看 在终端(windows:电脑win+R, linux:ctrl+alt+T)输入: pip list 或者 conda list 更新 在终端(windows:电脑win+R, linux:ct ...
- 二、python基础之列表、元组
一.列表 列表的概念: 列表由一系列按特定顺序排列的元素组成.你可以创建包含字母表中所有字母.数字0-9或所有家庭成员姓名的列表:也可以将任何东西加入列表中,其中的元素之间没有任何关系.鉴于列表通常包 ...
- 详解 CSS 绝对定位
基本定义和用法 在 CSS 中,position 属性指定一个元素(静态的,相对的,绝对或固定,以及粘性定位)的定位方法的类型. 当设置 position 属性的值为 absolute 时,生成绝对定 ...