MySQL数据库---表的操作

存储引擎

  表就是文件,表的存储引擎就是文件的存储格式,即数据的组织存储方式。

字段类型

1.整数类型

  • 整数类型:TINYINT SMALLINT MEDIUMINT INT BIGINT
  • 作用:存储年龄,等级,id,各种号码等
  • 表示范围:BIGINT(8字节) > INT(4字节) > MEDIUMINT(3字节) > SMALLINT(2字节) > TINYINT(1字节) 
  • 符号:默认整型是有符号的,使用unsigned就表示无符号
  • 注意:创建表时指定的字段宽度,对整型数据无效,表示的是数据的显示宽度

2.浮点型

浮点类型:FLOAT DOUBLE

定点数类型:DEC等同于DECIMAL

作用:存储薪资、身高、体重、体质参数等

符号:默认浮点型是有符号的,使用unsigned就表示无符号

精度:DOUBLE > FLOAT 

3.日期类型

  • 日期类型:DATE TIME DATETIME TIMESTAMP YEAR
  • 作用:存储用户注册时间,文章发布时间,员工入职时间,出生时间,过期时间等
year
YYYY(1901/2155)

date
YYYY-MM-DD(1000-01-01/9999-12-31)

time
HH:MM:SS('-838:59:59'/'838:59:59')

datetime
YYYY-MM-DD HH:MM:SS(1000-01-01 00:00:00/9999-12-31 23:59:59 Y)

timestamp
YYYYMMDD HHMMSS(1970-01-01 00:00:00/2037 年某时)

 

4.字符串类型

  • 字符串类型:char varchar
  • char类型:定长,简单粗暴,浪费空间,存取速度快
  • varchar类型:变长,精准,节省空间,存取速度慢

5.枚举和集合类型

  • 说明:字段的值只能在给定范围中选择,如性别,单位
  • 枚举:enum 单选 只能在给定的范围内选一个值,如性别sex: 男male / 女female
  • 集合:et 多选 在给定的范围内可以选择一个或一个以上的值(爱好1,爱好2,爱好3...)

字段约束类型 

说明:约束条件与数据类型的宽度一样,都是可选参数

作用:用于保证数据的完整性和一致性

PRIMARY KEY (PK)    标识该字段为该表的主键,可以唯一的标识记录
FOREIGN KEY (FK)    标识该字段为该表的外键
NOT NULL            标识该字段不能为空
UNIQUE KEY (UK)     标识该字段的值是唯一的
AUTO_INCREMENT      标识该字段的值自动增长(整数类型,而且为主键)
DEFAULT             为该字段设置默认值

UNSIGNED            无符号
ZEROFILL            使用0填充 
  • primary key:主键,具有唯一性,如果一张表中没有组件,数据库会创建一个默认的组件
  • foreign key:外键,用于描述两张表之间的关系
  • not null:表示不能为空
  • null:表示可以为空
  • unique key:唯一键,不能重复
  • auto_increment:自动增加,插入时无须插入该类型字段
  • default:默认值,插入数据时,如果没有指定就使用默认值
  • unsigned:表示无符号数
  • zerofill:显示宽度不足时,使用0填充

表的操作

1.创建表

#语法:
create table 表名(
字段名1 类型[(宽度) 约束条件],
字段名2 类型[(宽度) 约束条件],
字段名3 类型[(宽度) 约束条件]
);

#注意:
1. 在同一张表中,字段名是不能相同
2. 宽度和约束条件可选
3. 字段名和类型是必须的

例子

create table db1 (
    id int primary key,
    name char(10) not null,
    age int(4),
    sex enum('female', 'male') 
);

2.查看表

show tables; #查看当前数据库下所有的表

describe t1; #查看表结构,可简写为desc 表名

3.修改表

语法:
1. 修改表名
ALTER TABLE 表名 RENAME 新表名;

2. 增加字段
ALTER TABLE 表名 ADD 字段名  数据类型 [完整性约束条件…], ADD 字段名  数据类型 [完整性约束条件…];
ALTER TABLE 表名 ADD 字段名  数据类型 [完整性约束条件…]  FIRST;
ALTER TABLE 表名 ADD 字段名  数据类型 [完整性约束条件…]  AFTER 字段名;

3. 删除字段
ALTER TABLE 表名 DROP 字段名;

4. 修改字段
ALTER TABLE 表名 MODIFY  字段名 数据类型 [完整性约束条件…];
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];

  

4.复制表

  • LIKE 方法:LIKE方法是专门复制表结构的方法,他只复制表结构和相关属性,并不复制里面的数据
  • SELECT 方法:严格来讲 SELECT 方法不能理解成复制表结构的方法,其实他只是执行了一个SELECT查询语句。其实复制的结果只包含了 SELECT 的字段和数据,其他表属性包括存储引擎默认字符集等都由系统的配置文件决定
1.复制表结构和数据(key不会复制: 主键、外键和索引)
create table db2 select * from db1;

2.复制表结构
create table db2 select * from db1 where 1=2;  

3.复制表结构(包括key)
create table db2 like db1;

  

5.删除表

DROP TABLE 表名;

drop table db2
原文地址:https://www.cnblogs.com/chusiyong/p/11404689.html