数据库

mysql创建表以及修改表清空表/mysql字段类型

2018-07-10  本文已影响5人  陆_志东

创建mysql表示例

create table test_csv(
  id bigint(20) auto_increment,
  create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  title varchar(512) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  url varchar(256) COLLATE utf8_unicode_ci NOT NULL,
  source varchar(128) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  keywords varchar(512) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  summary text COLLATE utf8_unicode_ci NOT NULL,
  pub_time timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  feed_name varchar(24) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `key_url` (`url`(10)),
  KEY `key_feed_name` (`feed_name`(10))
)ENGINE=InnoDB AUTO_INCREMENT=500695 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

清空表数据

truncate table 表名

创建表之前的判断语句

drop table  if  exists test_csv;
create table if not exists test_csv;

修改表字段(修改属性,修改字段名)

alter table test_csv modify column create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP;
# 修改表test_csv中的create_time 字段的属性值

alter table user CHANGE column new1 new4 int;
# 将表user中的 new1字段更名为new4字段,注意更名之后需要指定属性

添加表字段

alter table test_csv add `pub_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00';
# 往表test_csv中添加一个字段 pub_time 并设置属性为timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
# 并注意 pub_time 两边不是引号,而是esc键位下面的按键

删除表字段

alter table id_name drop column age;  # 删除表id_name 中的age字段

mysql字段类型

一字节 = 8 bit

整数

image.png

字符串类型

image.png

时间类型

image.png

符合类型

ENUM 类型

ENUM 类型因为只允许在集合中取得一个值,有点类似于单选项。在处理相互排拆的数据时容易让人理解,比如人类的性别。ENUM 类型字段可以从集合中取得一个值或使用 null 值,除此之外的输入将会使 MySQL 在这个字段中插入一个空字符串。另外如果插入值的大小写与集合中值的大小写不匹配,MySQL 会自动使用插入值的大小写转换成与集合中大小写一致的值

SET 类型

SET 类型与 ENUM 类型相似但不相同。SET 类型可以从预定义的集合中取得任意数量的值。并且与 ENUM 类型相同的是任何试图在 SET 类型字段中插入非预定义的值都会使 MySQL 插入一个空字符串。如果插入一个即有合法的元素又有非法的元素的记录,MySQL 将会保留合法的元素,除去非法的元素。 一个 SET 类型最多可以包含 64 项元素。还去除了重复的元素,所以 SET 类型中不可能包含两个相同的元素。
希望从 SET 类型字段中找出非法的记录只需查找包含空字符串或二进制值为 0 的行。

上一篇下一篇

猜你喜欢

热点阅读