mysql- 修改字段
时间:2019-01-22
本文章向大家介绍mysql- 修改字段,主要包括mysql- 修改字段使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
修改字段属性:
-- 修改字段属性 -- ALTER TABLE tb_name MODIFY 字段名称 字段类型 [完整性约束条件] -- 将email字段 VARCHAR(50)修改成VARCHAR(200) -- 注意,修改时如果不带完整性约束条件,原有的约束条件将丢失,如果想保留修改时就得带上完整性约束条件 ALTER TABLE user10 MODIFY email VARCHAR(200) NOT NULL DEFAULT 'a@a.com'; -- 将card移到test后面 ALTER TABLE user10 MODIFY card CHAR(10) AFTER test; -- 将test放到第一个,保留原完整性约束条件 ALTER TABLE user10 MODIFY test CHAR(32) NOT NULL DEFAULT '123' FIRST;
修改字段名称和属性:
-- 将test字段改为test1 -- ALTER TABLE 表名 CHANGE 原字段名 新字段名 字段类型 约束条件 ALTER TABLE user10 CHANGE test test1 CHAR(32) NOT NULL DEFAULT '123';
添加删除默认值:
-- 创建新表 CREATE TABLE user11( id TINYINT UNSIGNED KEY AUTO_INCREMENT, username VARCHAR(20) NOT NULL UNIQUE, age TINYINT UNSIGNED ); -- 给age添加默认值 ALTER TABLE user11 ALTER age SET DEFAUTL 18; -- 添加一个字段 ALTER TABLE user11 ADD email VARCHAR(50); -- 给email添加默认值 ALTER TABLE user11 ALTER email SET DEFAULT 'a@a.com'; -- 删除默认值 ALTER TABLE user11 ALTER age DROP DEFAULT; ALTER TABLE user11 ALTER email DROP DEFAULT;
添加主键:
-- 创建一个表 CREATE TABLE test12( id INT ); -- 添加主键 -- ALTER TABLE tb_name ADD [CONSTRAINT [sysmbol]] PRIMARY KEY [index_type] (字段名称,...) ALTER TABLE test12 ADD PRIMARY KEY(id); -- 添加复合主键 -- 先创建个表 CREATE TABLE test13( id INT, card CHAR(18), username VARCHAR(20) NOT NULL ); -- 添加复合主键 ALTER TABLE test13 ADD PRIMARY KEY(id,card);
删除主键:
-- 删除主键 ALTER TABLE test12 DROP PRIMARY KEY; -- 再给test12添加主键, 完整形式 ALTER TABLE test12 ADD CONSTRAINT symbol PRIMARY KEY index_type(id);
在删除主键时,有一种情况是需要注意的,我们知道具有自增长的属性的字段必须是主键,如果表里的主键是具有自增长属性的;那么直接删除是会报错的。如果想要删除主键的话,可以先去年自增长属性,再删除主键
-- 再创建一个表, CREATE TABLE test14( id INT UNSIGNED KEY AUTO_INCREMENT ); -- 删除主键,这样会报错,因为自增长的必须是主键 ALTER TABLE test14 DROP PRIMARY KEY; -- 先用MODIFY删除自增长属性,注意MODIFY不能去掉主键属性 ALTER TABLE test14 MODIFY id INT UNSIGNED; -- 再来删除主键 ALTER TABLE test14 DROP PRIMARY KEY;
唯一索引:
-- 添加唯一性约束 -- ALTER TABLE tb_name ADD [CONSTANT [symbol]] UNIQUE [INDEX | KEY] [索引名称](字段名称,...) -- 创建测试表 CREATE TABLE user12( id TINYINT UNSIGNED KEY AUTO_INCREMENT, username VARCHAR(20) NOT NULL, card CHAR(18) NOT NULL, test VARCHAR(20) NOT NULL, test1 CHAR(32) NOT NULL ); -- username添加唯一性约束,如果没有指定索引名称,系统会以字段名建立索引 ALTER TABLE user12 ADD UNIQUE(username); -- car添加唯一性约束 ALTER TABLE user12 ADD CONSTRAINT symbol UNIQUE KEY uni_card(card); -- 查看索引 SHOW CREATE TABLE user12; -- test,test1添加联合unique ALTER TABLE user12 ADD CONSTRAINT symbol UNIQUE INDEX mulUni_test_test1(test, test1); -- 删除唯一 -- ALTER TABLE tb_name DROP {INDEX|KEY} index_name; -- 删除刚刚添加的唯一索引 ALTER TABLE user12 DROP INDEX username; ALTER TABLE user12 DROP KEY uni_card; ALTER TABLE user12 DROP KEY mulUni_test_test1;
修改表的存储引擎:
-- 修改表的存储引擎 -- ALTER TABLE tb_name ENGINE=存储引擎名称 ALTER TABLE user12 ENGINE=MyISAM; ALTER TABLE user12 ENGINE=INNODB; 修改自增长值: -- 修改自增长的值 -- ALTER TABLE tb_name AUTO_INCREMENT=值 ALTER TABLE user12 AUTO_INCREMENT=100;
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解
- Best practice on when to use the wrapper class and primitive type in Java
- Flutter基础widgets教程-BottomNavigationBar篇
- 直播系统介绍
- Azure内容审查器之羞羞图审查
- Clickhouse简介和性能对比
- Clickhouse创建分布式表以及表引擎介绍
- Azure 内容审查器之文本审查
- Redis中String数据类型原理实现
- Clickhouse分布式集群搭建
- Redis过期策略以及淘汰机制
- 几行代码就可以轻松给你的程序加上进度条
- git禁止在master分支push和commit
- 记录一次mybatis缓存和事务传播行为导致ut挂的排查过程
- appium教程_3.启动appium-server
- appium教程_4.adb常用命令