添加和删除字段操作

添加字段

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. IDEA中安装EasyCode插件并连接数据库生成代码

    场景 EasyCode是基于IntelliJ IDEA开发的代码生成插件,支持自定义任意模板(Java,html,js,xml).只要是与数据库相关的代码都可以通过自定义模板来生成.支持数据库类型与j ...

  2. git命令教程

    git教程笔记 Git是什么? Git是一个分布式版本控制系统 版本控制方式 集中式版本控制:从版本库中先取得最新的版本,改完之后再上传到版本库中,需要联网 分布式版本控制:每个合作者电脑上都有一个版 ...

  3. Java 国际化标准程序实现

    国际化程序实现 所谓的国家化应用指的就是根据当前的语言环境读取指定的语言资源文件. 如果要想实现国际化的操作,那么首先要解决的问题就是如何读取资源文件的问题:所谓的资源文件 就是指文件后缀名称为:&q ...

  4. SAP SD如何将销售订单其它ITEM加入到一个已创建好的交货单里

    SAP SD如何将销售订单其它ITEM加入到一个已创建好的交货单里 如下的销售订单,有多个ITEM, 为其中的第一个ITEM创建了DN 80016362, 如果业务发现需要修改该交货单,将销售订单里的 ...

  5. flutter全栈开发学习资料大全 免费flutter学习视频 文字教程!

    flutter今年特别火,google推出flutter就是为了一次开发全平台应用,包括PC端,手机wap端,android,ios直接生成APP应用,如果真的能像谷歌说的,那我们开发人员就真的好好学 ...

  6. 在标准实体特殊消息上注册插件及Dynamics CRM 2015中计算字段的使用

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复157或者20151005可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me! 前面的 插件系列博客教程 讲述了 ...

  7. Android Studio添加文件注释头模板集合

    Android Studio中设置方式 File -> Settings -> Editor -> File and Code Templates -> 右侧File标签 -& ...

  8. Data Pump Export 数据泵导出因ORA-31693 ORA-02354 和 ORA-01555 错误且没有LOB损坏而失败 (Doc ID 1507116.1)

    Data Pump Export Fails With ORA-31693 ORA-02354 and ORA-01555 Errors And No LOB Corruption (Doc ID 1 ...

  9. 【1期】Java必知必会之一

    面试官:线程池那些事儿 面试官:new 一个对象有哪两个过程?

  10. 【bzoj4945】[Noi2017]游戏(搜索+2-sat)

    bzoj 洛谷 题意: 现在有\(a,b,c\)三种车,每个赛道可能会存在限制:\(a\)表示不能选择\(a\)类型的赛车,\(b,c\)同理:\(x\)表示该赛道不受限制,但\(x\)类型的个数$\ ...