1.建表
定义学生表tb_student,其表结构如下所示,并要求使用InnoDB引擎存储表数据
create table if not exists tb_student ( studentNo CHAR(10) not NULL primary key comment '学号', studentName VARCHAR(10) NOT null comment '姓名', sex CHAR(2) comment '性别', birthday date comment '出生日期', native VARCHAR(20) comment '籍贯', nation VARCHAR(10) DEFAULT '汉' comment '民族', classNo CHAR(6) comment '所属班级' ) ENGINE=InnoDB comment '学生表';
2.表重命名
将tb_student的表结构复制到tb_student2
mysql> create table tb_student2 select * from tb_student where 1=3;
使用RENAME [TO]子句将数据库db_school中的数据表tb_student2重新命名为backup_tb_student
alter table tb_student2 rename to backup_tb_student;
3.字段修改
删除数据表tb_student2中的字段nation
mysql> ALTER TABLE tb_student2 DROP nation;
向tb_student表中添加一个varchar(16)类型的字段department,用于描述学生所在院系,要求设置其默认值为“城市学院”,并将该字段添加到原表nation之后
mysql> alter table tb_student add department varchar(16) DEFAULT ‘城市学院’ comment ‘院系’ after nation;
将tb_student中的字段birthday重命名为age,并将其数据类型更改为TINYINT,允许其为NULL,默认值为18
mysql> alter table tb_student change birthday age TINYINT DEFAULT 18;
将tb_student表中的字段department的默认值删除
mysql> ALTER TABLE tb_student ALTER COLUMN department DROP DEFAULT;
将tb_student表中的字段department的默认值改为’环化学院’
mysql> ALTER TABLE tb_student ALTER COLUMN department SET DEFAULT ‘环化学院’;
将tb_student表中的字段department的数据类型更改为varchar(20),
取值不允许为空,并将此字段移至字段studentName之后。
mysql> ALTER TABLE tb_student MODIFY department varchar(20) not null after studentName;
4.删除表
删除数据库db_school中的数据表tb_student,tb_student2
drop table tb_student,tb_student2;
5.技能拓展
5.1 MySQL 数据类型
MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。
数值类型如下
整数类型:
TINYINT、SMALLINT、MEDIUMINT、INT 或 INTEGER、BIGINT
带小数的类型:
FLOAT(单精度)、DOUBLE(双精度)、DECIMAL(定点数)
日期和时间类型如下:
DATE:YYYY-MM-DD 日期值
TIME:HH:MM:SS 时间值或持续时间
YEAR:YYYY 年份值
DATETIME:YYYY-MM-DD HH:MM:SS 混合日期和时间值
TIMESTAMP:YYYYMMDDHHMMSS 混合日期和时间值,时间戳
字符串类型如下:
CHAR:定长字符串 0-255 字节 --频繁改变的列建议用 char 类型
VARCHAR:0-65535 字节 变长字符串
BLOB:0-65535 字节 二进制形式的长文本数据,二进制大对象
TEXT:0-65535 字节 长文本数据 、varchar 的加长增强版
LONGTEXT:0-4294967295 字节极大文本数据
ENUM: 1-2 字节 枚举类型(单一值)
SET:1-8 字节 一个集合
5.2 数据库相关操作
创建和删除数据库
mysql> create database test1;
mysql> show create database test1;
mysql> drop database dbname;
选择数据库
mysql> use db1;
Database changed
执行以上命令后,你就已经成功选择了db1数据库,在后续的操作中都会在 db1 数据库中执行。