数据表的修改

1. 创建实验表people

  • people

CREATE TABLE people
(
name varchar(),
gender varchar(),
birthday varchar()
)

2.修改表

ALTER TABLE 表名
子句

--(1) 添加字段
ALTER TABLE 表名
ADD 列名 类型 [列说明]

-- 列说明
-- [NULL | NOT NULL]
-- [DEFAULT]
-- [PRIMARY KEY][约束]

--例  在people中添加电话号码

ALTER TABLE people
ADD tel varchar() --例 在people中添加年龄 ALTER TABLE people
ADD age int DEFAULT CHECK(age >= and age <= ) SELECT * FROM people --例 在people中添加id字段作主键
ALTER TABLE people
ADD id varchar() CONSTRAINT pkey PRIMARY KEY

-- (2) 删除字段
ALTER TABLE 表名
DROP COLUMN 列名

--例如  删除“电话”字段
ALTER TABLE people
DROP COLUMN tel

-- (3)修改字段类型

ALTER TABLE 表名
ALTER COLUMN 列名 新类型

--例 将出生日期改为日期型
ALTER TABLE people
ALTER COLUMN birthday date ALTER TABLE people
ALTER COLUMN age decimal(,) --即使修改类型也不能与建表时的约束产生冲突,这里出错

--(4)添加约束

ALTER TABLE 表名
ADD CONSTRAINT 约束名
CHECK (条件)

--例 为性别字段添加约束
ALTER TABLE people
ADD CONSTRAINT pgender
CHECK(gender='男' or gender='女')

--(5)删除约束

ALTER TABLE 表名
DROP CONSTRAINT 约束名

--例如 删除为性别加的约束
ALTER TABLE people
DROP CONSTRAINT pgender --为约束命名,便于引用 --删除id上的主键
ALTER TABLE people
DROP CONSTRAINT pkey

--(6)添加主键约束
ALTER TABLE 表名
ADD CONSTRAINT 约束名
PRIMARY KEY(字段列表)

--例如 将people中id和姓名设为主键(当前无主键)
--注: (1) 目前表中无主键
--     (2) 所用字段不允许空

ALTER TABLE people
ALTER COLUMN
name varchar() NOT NULL --修改name字段的类型 ALTER TABLE people
ADD CONSTRAINT pkey
PRIMARY KEY(id, name) --组合主键

--(7)添加外键约束

ALTER TABLE 表名
ADD CONSTRAINT 约束名 FOREIGN KEY(外键字段名)
REFERENCES 表名2(被参照字段名)

--例 id设为外键

ALTER TABLE people
ADD CONSTRAINT fkey FOREIGN KEY(id)
REFERENCES Student(snumb) --此时列的长度不匹配, 报错,即:先运行下段代码,再重新运行上段代码
ALTER TABLE people
ALTER COLUMN
id varchar(10) NOT NULL

--3.删除表

DROP
DROP TABLE 表名

--例如 删除people表
DROP TABLE people

SQL语句(三)数据表的修改的更多相关文章

  1. mysql详解常用命令操作,利用SQL语句创建数据表—增删改查

    关系型数据库的核心内容是 关系 即 二维表 MYSQL的启动和连接show variables; [所有的变量] 1服务端启动 查看服务状态 sudo /etc/init.d/mysql status ...

  2. 用SQL语句将数据表中的数据保存为JSON格式

    没有找到好的工具,只想到了拼字符串的方式,用   NVARCHAR(MAX)  可能有截断,不推荐使用,方法中使用了 FOR XML PATH('') 实现,有关其使用方法参考这里 表结构: SQL ...

  3. sql语句删除数据表重复字段的方法

    大家都可能遇到字段重复的情况,网上很多人在找方法,也给出了一些方法,但是有的方法是误导大家,铁牛写出以下方法,方便大家使用 1.通过group by把重复的字段筛选出来,并建立临时表tmp 1 cre ...

  4. sql语句创建数据表

    unsigned 数值类型 无符号化 AUTO_INCREMENT 自增长 PRIMARY KEY 唯一主键 COMMENT 备注信息 BIT 类型只有1和0两个值 enum 枚举数值类型 UNIQU ...

  5. sql语句中----删除表数据drop、truncate和delete的用法

    sql语句中----删除表数据drop.truncate和delete的用法 --drop drop table  tb   --tb表示数据表的名字,下同 删除内容和定义,释放空间.简单来说就是把整 ...

  6. PHP如何通过SQL语句将数据写入MySQL数据库呢?

    1,php和MySQL建立连接关系 2,打开 3,接受页面数据,PHP录入到指定的表中 1.2两步可直接使用一个数据库链接文件即可:conn.php <?phpmysql_connect(&qu ...

  7. SQL语句之 数据约束

    SQL语句之 数据约束 什么是数据约束 数据约束用来限制用户对数据的非法的修改操作. 1.约束字段的默认值 如果插入记录时,没有给某个字段赋值,那么我们可以设置它的默认值 关键字:default CR ...

  8. 通过Sql语句导数据

    在通过SQL Server向导中的SQL语句导数据时,默认情况下源表中的nvarchar字段类型会变成202,解决此问题的方法是,要重新选择一下对应的数据接收表.

  9. 使用sql语句获取数据库表的信息

    下面的sql语句可以查看表的信息.其中modify_date和create_date可以根据表的修改时间来查看.如果不需要删除后,就能看到所有表的字段信息 ) PERCENT d.name AS 表名 ...

随机推荐

  1. [转帖]从1G到5G

    一文看懂无线通信:从1G到5G 投递人 itwriter 发布于 2019-02-03 15:25 评论(2) 有280人阅读 [收藏] « » 文/老和山下的小学僧 最近太邪乎,先引用一个马克思政治 ...

  2. laravel 在nginx服务器上除了首页其余都是404的问题

    nginx对应站点的.conf配置文件添加如下代码 location / { try_files $uri $uri/ /index.php$is_args$query_string; #语法: tr ...

  3. wps word改多级编号为2.1

    右键标题1, 修改样式 编号 多级编号 标题1 2 3 右键标题2 修改样式 选择格式-编号 选择多级编号-标题1 2 3 直接点确定,OK. ---------------------------- ...

  4. Nginx PRECONTENT try_files指令

    L:61 try_fiels指令 syntax : try_files file ... uri;=code  //可以是多个文件 context : server,location; locatio ...

  5. docker --Docker微容器Alpine Linux

    Alpine Linux的官网: http://www.alpinelinux.org/    #官方 https://pkgs.alpinelinux.org/packages  #官方提供的安装包 ...

  6. BZOJ1468Tree——点分治

    题目描述 给你一棵TREE,以及这棵树上边的距离.问有多少对点它们两者间的距离小于等于K 输入 N(n<=40000) 接下来n-1行边描述管道,按照题目中写的输入 接下来是k 输出 一行,有多 ...

  7. npm指向淘宝源

    临时 npm --registry https://registry.npm.taobao.org install express1 持久 npm config set registry https: ...

  8. 自学Linux Shell10.1-使用编辑器vim

    点击返回 自学Linux命令行与Shell脚本之路 10.1-使用编辑器vim 所有的 Unix系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在.但是目前我们使用比较多的是 vim 编辑 ...

  9. 架构师成长之路3.1-Cobber原理及部署

    点击返回架构师成长之路 架构师成长之路3.1-Cobber原理及部署 Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装.重装物理服务器和虚拟机,同时还可以管理 ...

  10. HTML 百度地图API调用示例源码

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...