1. MySQL的数据类型

MySQL支持的数据类型主要有:数值类型、时间/日期类型、字符串类型

整数

  • 整数类型可以被指定长度,例如:INT(11)

字符串

  • 对于经常变更的数据来说,CHAR比VARCHAR更好,因为CHAR不容易产生碎片。
  • 对于非常短的列,CHAR比VARCHAR在存储空间上更有效率。
  • 使用时要注意只分配需要的空间,更长的列排序时会消耗更多内存

时间

  • 日期和时间类型,尽量使用timestamp,空间效率高于datetime
  1. 建表

2.1格式

create table 表名(
列名 列的类型【(长度) 约束】,
列名 列的类型【(长度) 约束】,
列名 列的类型【(长度) 约束】,
列名 列的类型【(长度) 约束】
)

2.2查看表的结构

DESC  表名

 2.3表的修改

修改列名 、数据类型、约束

ALTER TABLE 表名 CHANGE COLUMN 原列名 修改列名 类型 约束

 

MySQL数据类型的选择方法 mysql数据类型char_MySQL数据类型的选择方法

 

如果只需要修改类型,只需要保留原列名 与 类型

添加新列

MySQL数据类型的选择方法 mysql数据类型char_表名_02

删除列 

ALTER TABLE 表名 DROP COLUMN 列名

MySQL数据类型的选择方法 mysql数据类型char_mysql_03

 

修改表名 

 ALTER TABLE 原表名 RENAME TO 要修改成的表名;

MySQL数据类型的选择方法 mysql数据类型char_MySQL数据类型的选择方法_04

 

2.4 表的复制

  • 复制表结构

CREATE TABLE 新表名 LIKE 需要复制的表名

MySQL数据类型的选择方法 mysql数据类型char_字段_05

 

  • 复制表结构、数据

CREATE TABLE 新表名 as SELECT * FROM 需要复制的表名;

MySQL数据类型的选择方法 mysql数据类型char_数据库_06

 

  • 复制表相关字段结构、数据

CREATE TABLE 新的表名 as SELECT 需要的列的列名 FROM 需要复制的表名;

MySQL数据类型的选择方法 mysql数据类型char_数据库_07

 

3表约束

约束条件就是在给字段加一些约束,使该字段存储的值更加符合我们的预期。

NOT NULL:非空约束,表示该字段的值不能为空

DEFAULT:表示如果插入数据时没有给该字段赋值,那么就使用默认值

PRIMARY KEY:主键约束,表示唯一标识,不能为空,且一个表只能有一个主键。一般都是用来约束id

AUTO_INCREMENT:自增长,只能用于数值列,而且配合索引使用,默认起始值从1开始,每次增长1

UNIQUE KEY:唯一值,表示该字段下的值不能重复,null除外。比如身份证号是一人一号的,一般都会用这个进行约束

FOREIGN KEY:外键约束,目的是为了保证数据的完成性和唯一性,以及实现一对一或一对多关系