MySQL基础知识——ALTER TABLE
点击关注上方“SQL数据库开发”,
设为“置顶或星标”,第一时间送达干货
ALTER TABLE的作用
ALTER TABLE命令用于添加、删除或者更改现有数据表中的列。
还可以用 ALTER TABLE 命令来添加或者删除现有数据表上的约束。
示例数据库表
将"Customers"表用作示例
添加列语法
使用 ALTER TABLE 在现有的数据表中添加新列的基本语法如下:
ALTER TABLE table_name
ADD COLUMN column_name datatype;
给"Customers"表增加一列"年龄",可以这样写:
ALTER TABLE Customers
ADD COLUMN 年龄 INT;
我们再查看Customers表就在末尾增加一列"年龄"
由于我们没有设定值,"年龄"列默认都是NULL值(空值)
删除列语法
使用 ALTER TABLE 在现有的数据表中删除列的基本语法如下:
ALTER TABLE table_name
DROP COLUMN column_name;
我们再将上面"Customers"刚增加的"年龄"列给删除
ALTER TABLE Customers
DROP COLUMN 年龄;
执行完后就将"年龄"列给删除了。
修改列类型语法
使用 ALTER TABLE 更改现有的数据表中列的数据类型的基本语法如下:
ALTER TABLE table_name
MODIFY column_name datatype;
我们将"Customers"表的"邮编"由CHAR类型改成INT类型
ALTER TABLE customers
MODIFY 邮编 INT;
添加NOT NULL约束语法
使用 ALTER TABLE 给某列添加 NOT NULL 约束 的基本语法如下:
ALTER TABLE table_name
MODIFY column_name datatype NOT NULL;
我们可以将"Customers"表中的"省份"由NULL约束改成NOT NULL约束
ALTER TABLE Customers
MODIFY 省份 VARCHAR(20) NOT NULL;
结果如下:
添加唯一约束语法
使用 ALTER TABLE 给数据表添加 唯一约束 的基本语法如下:
ALTER TABLE table_name
ADD CONSTRAINT MyUniqueConstraint
UNIQUE(column1, column2...);
我们可以给"Customers"表中的"姓名"添加唯一约束
ALTER TABLE Customers
ADD CONSTRAINT idx_姓名
UNIQUE(姓名);
结果如下:
添加CHECK约束语法
使用 ALTER TABLE 给数据表添加 CHECK 约束 的基本语法如下:
ALTER TABLE table_name
ADD CONSTRAINT MyUniqueConstraint
CHECK (CONDITION);
我们可以给"Customers"表中的"邮编"添加CHECK约束,长度必须等于6
ALTER TABLE Customers
ADD CONSTRAINT con_客户ID
CHECK (length(邮编)=6);
当我们插入一条数据进去时,邮编的长度不等于6时,就会提示报错,如下图:
INSERT INTO customers
VALUES('张三','中山大道101号','广州','510','广东省');
结果如下:
当我们把邮编的长度改成6位的长度时,就可以正常插入了。
INSERT INTO customers
VALUES('张三','中山大道101号','广州','510000','广东省');
结果如下:
添加主键约束语法
使用 ALTER TABLE 给数据表添加 主键约束 的基本语法如下:
ALTER TABLE table_name
ADD CONSTRAINT MyPrimaryKey
PRIMARY KEY (column1, column2...);
我们先在Navicat中去掉客户ID的自增长主键,然后"客户ID"再添加不具备自增长属性的主键约束
ALTER TABLE Customers
ADD CONSTRAINT pri_客户ID
PRIMARY KEY(客户ID);
结果如下:
删除约束语法
使用 ALTER TABLE 从数据表中 删除约束 的基本语法如下:
ALTER TABLE table_name
DROP CONSTRAINT MyUniqueConstraint;
我们将刚才建的CHECK约束删除掉
ALTER TABLE Customers
DROP CONSTRAINT con_客户ID ;
我们可以看到直接的约束被删除了。
其他类型的约束同样可以用此语法进行删除。
注意:使用ALTER TABLE要极为小心,应该在进行改动前做一个完整的备份(模式和数据的备份)。数据库表的更改不能撤销,如果增加了不需要的列,可能不能删除它们。类似地,如果删除了不应该删除的列,可能会丢失该列中的所有数据
今日推荐——End——
后台回复关键字:1024,获取一份精心整理的技术干货
后台回复关键字:进群,带你进入高手如云的交流群。推荐阅读
你们猜猜,哪个省的女生最爱丰胸?????精心整理了一套SQL高级函数,建议收藏
一款SQL自动检查神器,再也不用担心SQL出错了!SQL 语句中 where 条件后 写上1=1 是什么意思国产数据库建模工具,看到界面第一眼,良心了!
这是一个能学到技术的公众号,欢迎关注
点击「阅读原文」了解SQL训练营
MySQL基础知识——ALTER TABLE相关推荐
- mysql基础知识(一)
mysql是主流的关系型数据库管理系统(RDBMS---relation database management system),操作是需要用SQL(Structured Query Language ...
- MySQL基础知识-MySQL概述安装,单表增删改查,函数,约束,多表查询,事物
MySQL基础知识-MySQL概述安装,单表增删改查,函数,约束,多表查询,事物 前言 1.MySQL概述 1.1数据库相关概念 1.2MySQL数据库 1.2.1版本 1.2.2下载 1.2.3安装 ...
- MySQL 基础知识入门教程
前言 知识无底,学海无涯,到今天进入MySQL的学习4天了,知识点虽然简单,但是比较多,所以写一篇博客将MySQL的基础写出来,方便自己以后查找,还有就是分享给大家. 一.SQL简述 1.SQL的概述 ...
- 2.MySQL 基础知识
文章目录 MySQL 基础知识 知识点一 : MySQL命令行常用命令 知识点二 : 持久化 相关概念 知识点三 : 数据库 相关概念 知识点四 : DB 和 DBMS 关系图示 知识点五 : MyS ...
- mysql+连接每一行数据_MySQL_深入mysql基础知识的详解,1.每个客户端连接都会从服务 - phpStudy...
深入mysql基础知识的详解 1.每个客户端连接都会从服务器进程中分到一个属于它的线程.而该连接的相应查询都都会通过该线程处理. 2.服务器会缓存线程.因此并不会为每个新连接创建或者销毁线程. 3.当 ...
- MySQL——基础知识
目录 一.SQL组成 1)数据定义语言(Data Definition Language,DDL) 2)数据操作语言(Data Manipulation Language,DML) 3)数据查询语言( ...
- 快速学习mysql_快速学习MySQL基础知识
这篇文章主要梳理了 SQL 的基础用法,会涉及到以下方面内容: SQL大小写的规范 数据库的类型以及适用场景 SELECT 的执行过程 WHERE 使用规范 MySQL 中常见函数 子查询分类 如何选 ...
- MySQL基础知识之增删改查
MySQL基础知识之增删改查 MySQL基本语法: 1.创建库:create database 库名: 创建带编码格式的库:create database 库名 character set 编码格式: ...
- MySQL工作中的实际用_总结工作中经常用到的mysql基础知识
总结工作中经常用到的mysql基础知识 发布时间:2020-06-08 11:27:30 来源:51CTO 阅读:217 作者:三月 本文主要给大家介绍工作中经常用到的mysql基础知识,文章内容都是 ...
最新文章
- 存储系统的类型及特点
- iOS开发中怎么样使用激光推送
- GHUnit for iOS测试指南
- 程序员特有的9个坏习惯
- 在不如意的世界里全力以赴_我如何在“外展之旅”中全力以赴
- cocos2d学习之路四(添加遥控杆)
- mysql数据库白羽_Android应用开发Android 友盟推送原理解析
- 水经注地图发布服务中间件下载安装图文教程
- 用计算机绘制颗粒级配曲线,EXcel如何绘制颗粒级配曲线图
- PostgreSQL—适合金融的数据库
- fsck|xfs_repair 磁盘修复
- 华为RH2288V3服务器硬盘大于2T的处理办法
- 江苏大学的计算机,毛启容-江苏大学计算机科学与通信工程学院
- Elixir: Enum函数总结
- NBA得分后卫阅兵:科比榜首麦蒂第9 小AI获至高赞誉
- 护眼台灯什么价位的好?五百元内适合学生党的护眼台灯
- Android ToastUtil
- 前端培训出来的人,公司怎么看呢?
- 如何查看linux服务器是否为amd64架构还是x86_64架构
- 短地址,短URL服务 - 百度,TinyURL
热门文章
- 蓄水池问题c语言编程,基于51单片机的蓄水池自动控制系统(35页)-原创力文档...
- 网络安全等级保护确定定级对象
- 探索语言交互技术在政务数字化的应用
- 投资入门第 3 步:技术分析法(常用技术分析)
- 计算机科学与技术专业考数媒,数字媒体技术研究生院校排名
- JAVA语言规范 JAVA SE 8 - 类型、值和变量
- matlab中==、~=、的含义
- 信息收集——系统识别及版本确定
- SVN认证失败及“在其上下文中,该请求地址无效”问题的解决方法
- h5 加载完成_从零到一:实现通用一镜到底 H5