mysql常用命令总结

2022-01-05  本文已影响0人  彳亍口巴

表操作命令

1、创建表

CREATE TABLE `comments` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `create_at` datetime DEFAULT NULL,
  `update_at` datetime DEFAULT NULL,
  `user_id` int(10) unsigned DEFAULT NULL,
  `content` varchar(255) DEFAULT NULL,
  `post_id` int(10) unsigned DEFAULT NULL,
  `read_state` tinyint(1) DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

2、查看表

2.1 desc tableName; #查看表格的具体情况
2.2 show create table tableName; #查看创建表语句
2.3删除表格 drop table tableName;
2.4修改表名 rename table tableName to newTableName;

3.表中字段的操作

3.1 在表中增加一个字段: alter table comments add column newColumn int(11) not null default 0;
3.2 在表中删除一个字段: alter table comments drop column newColumn2;
3.3 修改字段的名称: alter table comments change newColumn newColumn2 int(11);
3.4 修改字段的类型:alter table comments modify column newColumn varchar(256) not null default '';
3.5 修改字段的顺序: alter table comments modify column state varchar(128) not null default '' after id;
3.6 时间字段,默认为当前时间:add_time timestamp not NULL DEFAULT CURRENT_TIMESTAMP COMMENT '上架时间' 效果:2006-01-02 15:04:05

插入或修改操作

replace INTO t_crud(id, name, addr) VALUES('1','zzr_2','addr_2');

eplace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中, 1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。 2. 否则,直接插入新数据。

要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。

INSERT INTO t_crud VALUES('1','zzr_2','addr_2') on DUPLICATE KEY UPDATE name='zzr_1',addr='addr_1';

作用和上面的类似,也是主键或唯一键不存在就插入,否则修改


若执行的是修改,影响行数是2,因为先删除,然后再插入,只是我们看到的结果是修改罢了。

删除表的主键

删除主键:

主键不是递增:ALTER TABLE TABLE_NAME DROP PRIMARY KEY;
主键是递增:先去掉递增,然后再删除主键

alter table test1_2 modify id int;
alter table test1_2 drop primary key;
上一篇下一篇

猜你喜欢

热点阅读