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...)是 ...
随机推荐
- sts bug SpringJUnit4ClassRunner
SpringJUnit4ClassRunner找不到,不会自动修复, 只能复制引用过去 import org.springframework.test.context.junit4.SpringJUn ...
- 【转】C#反编译工具
源地址:https://blog.csdn.net/kongwei521/article/details/54927689 源地址:https://www.cnblogs.com/JamesLi201 ...
- DPTR是什么寄存器 它的作用是什么 它由哪几个寄存器组成
数据指针(DPTR)是80C51中一个功能比较特殊的寄存器.从结构DPTR是一个16位的特殊功能寄存器, 其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示,DPTR既可以作为一个16位的寄存器 ...
- JS 替换
JS 字符串有replace() 方法.但这个方法只会对匹配到的第一个字串替换. 如下例: var str = "wordwordwordword"; var strNew = s ...
- <读书笔记>《Web前端开发最佳实践》
P77 P89 CSS Reset P94 给CSS样式定义排序 排序工具:CSScomb P97 什么是CSS的权重?权重是指选择符的优先级 P100 工具:Sass Less P101 框架 ...
- Qt 程序在 Windows 下的发布
本文讨论在 Windows 平台下编译成功的 Qt 程序,如何在未配置 Qt 开发环境的 Windows 平台下独立运行的方法. 经过验证发现,在 Ubuntu 平台下编译成功的程序可在未安装 Qt ...
- Robot Framework 执行结果无法查看(tomcat部署)
打开jenkins系统管理-命令行执行: System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","& ...
- Python面试题之如何用Python来发送邮件?
python实现发送和接收邮件功能主要用到poplib和smtplib模块. poplib用于接收邮件,而smtplib负责发送邮件. 代码如下: 1 #! /usr/bin/env python 2 ...
- boby标签中相关标签
有关字体相关的标签 h1~h6 字体大小 标题使用<h1>至<h6>标签进行定义,<h1>定义最大的标题,<h6>定义最小的标题.具有 align属 ...
- IIS 部署网站本地可访问,外网无法访问
1,检查防火墙入站规则,查看本地端口状态 cmd 命令:netstat -na 2:远程连接测试 cmd 命令:telnet IP Port ,如:telnet 127.0.0.1 135 ,连接成功 ...