Mysql数据表结构操作

新建表:

CREATE TABLE `ecs_appoint_demand_bargaining_log` (
  `yj_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '议价ID',
  `xq_id` int(11) NOT NULL COMMENT '议价单ID',
  `yj_status` tinyint(5) NOT NULL DEFAULT '0' COMMENT '0待商家确认1供应商已确认2供应商已拒绝3已下单4已失效',
  `user_price` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT '用户议价价格',
  `user_cont` text CHARACTER SET utf8 NOT NULL COMMENT '用户描述',
  `supplier_id` int(11) NOT NULL COMMENT '供应商ID',
  `supplier_name` varchar(50) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '供应商名称',
  `supplier_price` decimal(12,2) NOT NULL COMMENT '供应商报价',
  `supplier_cont` text CHARACTER SET utf8 NOT NULL COMMENT '供应商回复',
  `create_time` int(11) NOT NULL COMMENT '开始时间',
  `end_time` int(11) NOT NULL COMMENT '截止时间',
  `quotation_time` int(11) NOT NULL COMMENT '报价时间',
  PRIMARY KEY (`yj_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;

添加表字段:

ALTER TABLE `ecs_appoint_demand` ADD `demand_type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1 指定下单 2议价';

修改表字段:

ALTER TABLE user10 MODIFY email VARCHAR(200) NOT NULL DEFAULT '1' COMMENT '1 指定下单 2议价;

– 将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';

– 添加一个字段

ALTER TABLE user11 ADD email VARCHAR(50);

– 给age添加默认值

ALTER TABLE user11 ALTER age SET DEFAUTL 18;

– 给email添加默认值

ALTER TABLE user11 ALTER email SET DEFAULT '[email protected]';

– 删除默认值

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 ENGINE=存储引擎名称
ALTER TABLE user12 ENGINE=MyISAM;
ALTER TABLE user12 ENGINE=INNODB;

修改自增长值:

-- ALTER TABLE tb_name AUTO_INCREMENT=ALTER TABLE user12 AUTO_INCREMENT=100;
发布了41 篇原创文章 · 获赞 0 · 访问量 323

猜你喜欢

转载自blog.csdn.net/qq_21774371/article/details/103994160