• MySQL基础之表的管理


    添加和删除字段操作

    添加字段

    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; --第二种方式
    
  • 相关阅读:
    [Canvas]英雄可以射箭了
    [Canvas]人物型英雄出现(前作仅为箭头)
    day33_Spring学习回顾_01
    day33_Spring学习笔记_01
    MyEclipse中,当我们写一个类实现一个接口时,会自动生成重写该接口的方法,但是,方法的参数提示不够好,是什么原因导致的呢?该如何解决呢?
    使用Junit测试一个 spring静态工厂实例化bean 的例子,所有代码都没有问题,但是出现java.lang.IllegalArgumentException异常
    MyEclipse中如何变换查看项目文件夹
    实战网卡bond
    Centos7上使用官方YUM源安装Mysql
    CentOS 7上安装WordPress详细步骤
  • 原文地址:https://www.cnblogs.com/huowuyan/p/11442460.html
Copyright © 2020-2023  润新知