您的位置 首页 数据库

mysql 创建表修改数据表

完整建表语句参考:

CREATE TABLE `student` (
  `id` int NOT NULL COMMENT '学号信息',
  `name` varchar(45) NOT NULL COMMENT '学生名',
  `age` tinyint unsigned NOT NULL COMMENT '学生年龄',
  `gender` enum('M','F','N') NOT NULL DEFAULT 'N' COMMENT '学生性别',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='学生表'

 

创建表的基本语法格式:

create table <表名> (
     <字段名1> <类型1> ,
    …
    <字段名n> <类型n>);

以上是创建表的具体格式信息,其中create table是关键字,不能更改,但是大小写可以变化。

实战情况:需要创建一个学生信息表:

 

# 切换数据库环境
mysql > use xiaoq;
mysql > select database();
-- 查看是否切换数据库成功
​
# 创建数据表信息
mysql > create table stu1(
id int(10) not null,
name varchar(20) not null,
age tinyint(2)  NOT NULL default '0',
dept varchar(16)  default NULL
);
​
# 查看数据表信息
mysql > show tables;
mysql > desc stu1;
​
# 获取创建表语句
mysql > show create table stu1\G;
*************************** 1. row ***************************
       Table: stu1
Create Table: CREATE TABLE `stu1` (
  `id` int(10) NOT NULL,
  `name` varchar(20) NOT NULL,
  `age` tinyint(2) NOT NULL DEFAULT '0',
  `dept` varchar(16) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
1 row in set (0.00 sec)
  • 查看数据表信息:

mysql >  use mysql;
-- 切换到指定数据库中
mysql >  show tables;
-- 查看数据库中所有表信息
mysql > desc stu1;
-- 查看数据库中指定表数据结构信息
mysql > show create table stu1;
-- 查看数据库中指定表创建语句信息

 

mysql修改数据表

# 修改数据表名称信息
mysql > rename table stu1 to stu2;
或者
mysql > alter table stu2 rename stu3;
-- 利用上面种方式均可修改表名称信息
mysql > show tables;
-- 查看表名称信息是否修改
​
# 修改数据表编码信息
mysql > alter table stu1 charset utf8mb4;
-- 修改表结构中字符集编码信息
mysql > show create table stu1;
-- 查看表字符编码信息情况

 

修改数据表结构信息:

# 数据表结构调整命令语法
mysql > alter table <表名> add column <字段名称> <数据类型> <约束与属性> [comment '注释'] [选项参数];
-- 利用alter在数据表中添加新的表结构字段
mysql > alter table <表名> drop column <字段名称>;
-- 利用alter在数据表中删除已有表结构字段
mysql > alter table <表名> modify column <字段名称> <数据类型> <约束与属性> [comment '注释'] [选项参数];
-- 利用alter在数据表中修改已有表结构字段(数据类型 约束与属性)
mysql > alter table <表名> change column <旧字段名称> <新字段名称> <数据类型> <约束与属性> [comment '注释'] [选项参数];
-- 利用alter在数据表中修改已有表结构字段(字段名称 数据类型 约束与属性)
mysql > alter table <表名> drop index <字段名称> ;
-- 利用alter在数据表中删除已有表结构字段(约束与属性)
​
# 具体实际操作过程(添加新的表结构字段)
mysql > alter table stu add column telno char(11) not null unique key comment '手机号';
-- 在学生表中,添加新的表结构字段列(追加字段列-单列操作)
mysql > alter table stu add column wechat varchar(64) not null unique key comment '微信号' after age;
-- 在学生表中,添加新的表结构字段列(插入字段列-单列操作)
mysql > alter table stu add column sid int not null unique key comment '微信号' first;
-- 在学生表中,添加新的表结构字段列(插入首行列-单列操作)
mysql > desc stu;
-- 查看表结构字段信息变化
​
# 具体实际操作过程(删除已有表结构字段)
mysql > alter table stu drop column sid;
-- 在学生表中,删除已有表结构字段列(删除指定字段列-单列操作)
​
# 具体实际操作过程(修改已有表结构字段)
mysql > alter table stu modify name varchar(64);
-- 在学生表中,修改已有表结构字段列(修改表结构数据类型)
mysql > alter table stu modify name varchar(64) not null comment '学生名';
-- 在学生表中,修改已有表结构字段列,最后带有保持原有配置的属性信息,否则其他属性信息会被还原为默认
mysql > alter table stu change name stuname varchar(64) not null comment '学生名';
或者
mysql > alter table stu change column name stuname varchar(64) not null comment '学生名';
-- 在学生表中,修改已有表结构字段列(修改表结构字段名称)
mysql > alter table stu modify name varchar(64) not null unique comment '学生名称';
-- 在学生表中,修改已有表结构字段列(修改表结构属性信息)了解即可
mysql > alter table stu drop index `name`;
-- 在学生表中,修改已有表结构字段列(删除表结构属性信息)了解即可
mysql > desc stu;
-- 查看表结构字段信息变化
  • 删除数据表信息:
# 数据表删除命令语法
mysql > drop table <表名>;
# 具体实际操作过程
mysql > drop table stu1;
-- 删除操作过程,会将定义的表结构和表中数据内容一并删除
mysql > truncate table stu1;
-- 删除操作过程,只是清空表中数据内容,但保留定义的表结构信息

 

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章