表操作:修改表、创建表、添加字段、创建序列、创建唯一约束
序列 操作 创建 修改 添加 约束 唯一
2023-09-11 14:19:54 时间
为实现数据库中表规范化设计的目的,有时候需要对之前已经创建的表进行结构修改或者调整。在 MySQL 中可以使用 ALTER TABLE 语句来改变原有表的结构,例如增加或删减列、创建或取消索引、更改原有列类型、重新命名列或表等。
基本语法
修改表指的是修改数据库中已经存在的数据表的结构。MySQL 使用 ALTER TABLE 语句修改表。常用的修改表的操作有修改表名、修改字段数据类型或字段名、增加和删除字段、修改字段的排列位置、更改表的存储引擎、删除表的外键约束等。
ALTER TABLE <表名> [修改选项]
修改选项的语法格式如下:
{ ADD COLUMN <列名> <类型>
| CHANGE COLUMN <旧列名> <新列名> <新列类型>
| ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT }
| MODIFY COLUMN <列名> <类型>
| DROP COLUMN <列名>
| RENAME TO <新表名> }
详见博客:http://c.biancheng.net/view/2433.html
1、修改表
-- 第一种情况:表中并没数据
alter table 表名 alter column 字段 set default 0;
-- 第二种情况:是表中已存在数据
update tablename set 字段=0; -- 修改值
alter table 表名 alter column 字段 set default 0; -- 修改默认值
2、创建表
CREATE TABLE public.edu_user
(
user_id int PRIMARY KEY NOT NULL,
phone_num varchar(32) NOT NULL,
email varchar(128) NOT NULL,
cert_num varchar(64),
name varchar(64),
address varchar(256)
);
3、添加字段
ALTER TABLE public.edu_user ADD password varchar(64);
4、创建序列
CREATE SEQUENCE seq_edu_user START 1 maxvalue 2147483647;
5、创建唯一约束
CREATE UNIQUE INDEX edu_user_phone_num_uindex ON public.edu_user (phone_num);
相关文章
- Java实现 LeetCode 674 最长连续递增序列(暴力)
- Java实现 LeetCode 334 递增的三元子序列
- (动态规划)最长回文子序列、回文子序列个数
- 基于人工大猩猩部队优化CNN-LSTM(GTO-CNN-LSTM)多变量时间序列预测(Matlab代码实现)
- 基于FPGA的直接序列扩频通信verilog设计,包括汉明编译码,扩频解扩,同步模块以及testbench
- 【数字信号处理】序列傅里叶变换 ( 狄义赫利条件 | 序列傅里叶变换定义 )
- 【数字信号处理】基本序列 ( 正弦序列 | 数字角频率 ω | 模拟角频率 Ω | 数字频率 f | 模拟频率 f0 | 采样频率 Fs | 采样周期 T )
- 最长公共子序列(动态规划、思路)
- 碱基序列的儿子最长上涨
- 序列化与反序列
- Akumuli时间序列数据库——列存储,LSM,MVCC
- 2-3课程 比较:统计序列中元素的出现频度
- 刷题记录:NC15805字典序最大的子序列
- 【Spark NLP】第 8 章:使用 Keras 进行序列建模
- 不用循环和分治,仅用“按位”操作,找到序列第一个1和最后一个1
- 07 串行数据流特定序列循环检测器的设计与功能验证(附源码)