表操作命令
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;
主键是递增:先去掉递增,然后再删除主键
网友评论