添加和删除字段操作

添加字段

alter table tbl_name add 字段名称 字段属性 [完整性约束条件] [first|after 字段名称之后];

删除字段

alter table tbl_name drop 字段名称;

测试

create table if not exists user1(
id int unsigned auto_increment key
); --添加用户名字段 username varchar(20)
alter table user1 add username varchar(20); --添加密码字段 password varchar(20) 到id字段之后
alter table user1 add password varchar(20) not null default '123456' after id; --删除密码字段
alter table user1 drop password; --多次添加或删除用逗号分隔
create table if not exists test(
id int unsigned auto_increment key,
price float(8,2) unsigned not null default 0
); alter table test
add num int unsigned not null default 100,
add test varchar(50) not null first,
add test1 char(23) not null after price,
drop price;

添加和删除默认值操作

添加默认值

alter table tbl_name alter 字段名称 set default 默认值;

删除默认值

alter table tbl_name alter 字段名称 drop default;

测试

create table user2(
id int unsigned auto_increment key,
username varchar(20) not null,
age tinyint unsigned not null default 18,
email varchar(50) not null
); --给email字段添加默认值 huowuyan@163.com
alter table user2 alter email set default 'huowuyan@163.com'; --给age删除默认值
alter table user2 alter age drop default;

modify和change关键字的使用

修改字段类型、字段属性

alter table tbl_name modify 字段名称 字段类型 [字段属性] [first|after 字段名称];

修改字段名称、字段类型、字段属性

alter table tbl_name change 原字段名称 新字段名称 字段类型 [字段属性] [first|after 字段名称];

测试

create table user3(
id int unsigned auto_increment key,
username varchar(5) not null unique,
password char(32) not null,
email varchar(10) not null
); --将用户名字段的类型改为20
alter table user3 modify username varchar(20) not null unique; --将username 名称改为user
alter table user3 change username user varchar(20) not null;

主键和唯一索引操作

添加主键和删除主键

alter table tbl_name add primary key(字段名称);
alter table tbl_name drop primary key;

添加唯一和删除唯一

alter table tbl_name add unique key|index [index_name] (字段名称);
alter table tbl_name drop index index_name; --当表中没有主键时,unique就相当于主键

测试

create table user4(
id int unsigned,
username varchar(20) not null,
email varchar(30) not null,
phone varchar(20) not null unique
); alter table user4 add primary key(id);
alter table user4 drop primary key;
alter table user4 add unique key uni_email (email);
alter table user4 drop index uni_email;

重命名表的操作

alter table tbl_name rename [to|as] new_tbl_name; --第一种方式
rename table tbl_name to new_tbl_name; --第二种方式

MySQL基础之表的管理的更多相关文章

  1. mysql基础-数据库表的管理-记录(四)

    0x01 MySQL中字符大小写 1.SQL关键字及函数不区分大小写 2.数据库.表及视图名称的大小写区分与否取决于底层OS及FS 3.存储过程.存储函数及事件调度器的名字不区分大小写,但触发器区分大 ...

  2. mysql基础篇--表的管理

    表的创建 常见的数据类型 数值型: 整型 tinyint.smallint.mediumint.int/integer.bigint 特点: 1.如果不设置无符号还是有符号,默认是有符号,如果想设置无 ...

  3. MySQL基础知识:启动管理和账号管理

    整理.记录常用的MySQL基础知识:时间久了,很多就忘记了. 操作系统环境为MacOS Catalina, MySQL版本为: 8.0.13 MySQL Community Server - GPL. ...

  4. MySQL数据库以及表的管理

    MySQL数据库以及表的管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 今天我们探讨的话题就是如何使用MySQL做开发,我们运维的主要工作不是去开发SQL的,但尽管如此,我们有 ...

  5. MySQL库和表的管理

    MySQL数据库服务配置好后,系统会有4个默认的数据库. information_schema:虚拟对象,其对象都保存在内存中performance_schema:服务器性能指标库mysql:记录用户 ...

  6. MySQL基础篇——安装、管理

    MySQL 安装 所有平台的 MySQL 下载地址为https://dev.mysql.com/downloads/mysql/ .挑选你需要的 MySQL Community Server 版本及对 ...

  7. MySql库、表权限管理

    #授权表user #该表放行的权限,针对:所有数据,所有库下所有表,以及表下的所有字段db #该表放行的权限,针对:某一数据库,该数据库下的所有表,以及表下的所有字段tables_priv #该表放行 ...

  8. mysql基础-数据库表简单查询-记录(五)

    0x01 MySQL的查询操作 单表查询:简单查询                 多表查询:连续查询                联合查询 选择和投影 投影:挑选要符合的字段     select ...

  9. mysql基础,数据表的类型

随机推荐

  1. angularjs路由传值$routeParams

    AngularJS利用路由传值, 1.导包 <script src="angular.min.js"></script> <script src=&q ...

  2. Android 查看项目依赖树的四种方式

    Android 查看项目依赖树的四种方式: 方式一: ./gradlew 模块名:dependencies //查看单独模块的依赖 ./gradlew :app:dependencies --conf ...

  3. 电池的QPNP模式

    名词解释: CV:Constant Voltage恒压 SMMB charger:Switch-ModeBattery Charger and Boost peripheral开关模式电池充电器和升压 ...

  4. 开发工具IntelliJ IDEA

    开发工具概述 IDEA是一个专门针对Java的集成开发工具(IDE),由Java语言编写.所以,需要有JRE运行环境并配置好环境变量.它可以极大地提升我们的开发效率.可以自动编译,检查错误.在公司中, ...

  5. http2多路复用

    http2多路复用 HTTP2采用二进制格式传输,取代了HTTP1.x的文本格式,二进制格式解析更高效. 多路复用代替了HTTP1.x的序列和阻塞机制,所有的相同域名请求都通过同一个TCP连接并发完成 ...

  6. Codeforces Round #594 (Div. 2) B. Grow The Tree 水题

    B. Grow The Tree Gardener Alexey teaches competitive programming to high school students. To congrat ...

  7. 向技术领先的华为说No,就是对国家的通信前景说No!

    历史已经证明了,任何一项可以加速人员.物资.能源.金钱.信息迁移的技术,都会让社会原有的生产力成倍地增长.中国在互联网.移动互联网保持令整个世界震惊的飞速发展,以BAT为首的诸多商业帝国建立,还有人们 ...

  8. java(三)基础类型之间的转换

    自动类型转换:容量小的类型自动转换成为容量大的数据类型,数据类型按容量大小排序为: 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后在进行运算: byte.shor ...

  9. IT兄弟连 HTML5教程 HTML语言的语法 2

    HTML颜色值的设置 大多数浏览器都支持颜色名集合,颜色值是一个关键字或一个RGB格式的数字,在网页中用得很多.仅仅有16种颜色名被W3C的HTML 4.0标准所支持,它们是:aqua.black.b ...

  10. Jmeter-Java请求实战

    1.1. jmeter-java插件实现接口测试 (linux /mysql/rabbit-mq) 本次需要准备环境 Eclipse+jdk8 Jmeter Python 1.1.1. Rabbit- ...