MySQL修改数据表的结构

创建数据库

-- create database 创建的数据库名;
create database test;

这里创建了一个名为 test 的数据库 

选择需要使用的数据库

-- use 数据库名;
use test;

这里使用 test 数据库 

 创建数据表 

-- create table 表名(字段名1 数据类型(长度) 约束,字段名2 数据类型(长度) 约束...);
create table stu(id int(12) primary key,name varchar(12) not null);

这里在 test 数据库中创建了一个名为 stu 的数据表 ,其字段有 id 其类型为int 长度为12 且为主键,name 其类型为 varchar  长度为12 不能为空

 查看数据表结构

desc是describe的简写

-- describe 表名;
describe stu;

-- desc 表名;
desc stu;

查看了stu 表的表结构 

 修改数据表结构

添加字段

追加字段

alter table 表名 add 字段名 数据类型(长度); 

--  alter table 表名 add 字段名 数据类型(长度); 
alter table stu add sex int(2);

这里为 stu 表中追加了 sex 字段(类型为int,长度为2),然后用 desc 查看 stu 表的结果查看追加 sex 字段的情况

 字段添加在最前面

alter table 表名 add 字段名 数据类型(长度) first

-- alter table 表名 add 字段名 数据类型(长度) first;
alter table stu add sid int(18) first;

这里为 stu 表中添加了 sid 字段(类型为int,长度为18)用 first 关键字将 sid 字段添加在第一个,最后用 desc 查看 stu 表的结果查看添加 sid 字段的情况

 

字段添加在某个字段的后面

alter table 表名 add 字段名 数据类型(长度)  after 在哪个字段的后面;

-- alter table 表名 add 字段名 数据类型(长度) after 在id字段的后面;
alter table stu add age int(2) after id;

 这里为 stu 表中添加了 age 字段(类型为int,长度为2)用 after 关键字将 age 字段添加指定 id 字段的后面 ,最后用 desc 查看 stu 表的结果查看添加 age 字段的情况

修改字段

alter table 表名 change 改之前的字段 改之后的字段 字段类型(长度);

-- alter table 表名 change 改之前的字段 改之后的字段 字段类型(长度);
alter table stu change name stuName varchar(12);

这里为 stu 表中将name 字段改成了stuName,并修改了类型和长度,最后用 desc 查看 stu 表的结果查看字段修改的情况 

删除字段

alter table stu drop 删除的字段名;

-- 删除stu表中的sid字段
-- alter table 表名 drop 删除的字段名;
alter table stu drop sid;

这里为 stu 表中删除了 sid 字段,用 desc 查看 stu 表的结果查看删除字段的情况 

修改表名

alter table 表名 rename 修改之后的表名;

-- alter table 表名 rename 修改之后的表名;
alter table stu rename student;

1.这里将 stu 表的名字修改成 student 

2.查看当前数据库中全部的表

show tables;

 复制表

复制表结构及数据到新表

准备:由于student表中没有数据现添加几条数据,然后在对student表进行复制

create table 新表名 select * from 源表名;

-- create table 新表名 select * from 源表名;
create table one select * from student;

 这里将 student 表 结构和数据全部复制到 one 表中,用 show tables; 命令查看当前数据库中的所有数据表,用 desc 查看 one 表的结构和 select 语句查询 one 表的全部数据,对比复制的student 表的结构和数据一样

只复制表结构到新表


create table 新表名 select * from 源表名 where false;

-- create table 新表名 select * from 源表名 where false;
create table two select * from student where false;

这里将 student 表 结构 two 表中,用 show tables; 命令查看当前数据库中的所有数据表,用 desc 查看 two 表的结构, select 语句查询 two 表的没有数据,说明只复制了 student 表的结构

 

使用关键字 LIKE 复制表结构

CREATE TABLE 新表名 LIKE 源表名;

-- CREATE TABLE 新表 LIKE 源表;
CREATE TABLE three LIKE student;

这里用 like 关键字,将 student 表 结构 three 表中,用 show tables; 命令查看当前数据库中的所有数据表,用 desc 查看 three 表的结构, select 语句查询 three 表的没有数据,说明只复制了 student 表的结构

复制表的部分字段及数据到新表

create table four as (select 字段1,字段2,... from student);

-- create table 新表名 as (select 字段 1,字段 2,...... from 源表名);
create table four as (select id,stuName from student);

这里将 student 表的 id 和 stuName 字段复制到 four 表中,用 show tables; 命令查看当前数据库中的所有数据表,用 desc 查看 four 表的结构和 select 语句查询 four 表的全部数据,

删除表

drop table 表名;


-- 删除一个表
-- drop table 表名;
drop table one;

-- 删除多个表
-- drop table 表名1,表名2,....;
drop table two,three,four;

删除 one表

同时删除 two , three , four 这几张表

  • 25
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
修改 MySQL结构,可以使用 ALTER TABLE 语句,具体的语法如下: ```sql ALTER TABLE table_name [alter_specification [, alter_specification] ...]; ``` 其中,alter_specification 可以是以下几种: - ADD COLUMN:添加新的列。 - MODIFY COLUMN:修改列的数据类型或长度。 - DROP COLUMN:删除列。 - CHANGE COLUMN:修改列名和数据类型或长度。 - RENAME TO:重命名表。 举个例子,如果你想要给表中添加一个新的列,可以使用如下的 SQL 语句: ```sql ALTER TABLE table_name ADD COLUMN new_column_name data_type; ``` 其中,new_column_name 是你要添加的列名,data_type 是该列的数据类型。 如果你想要修改一个已有的列,可以使用如下的 SQL 语句: ```sql ALTER TABLE table_name MODIFY COLUMN column_name new_data_type; ``` 其中,column_name 是你要修改的列名,new_data_type 是该列的新数据类型。 如果你想要删除一个列,可以使用如下的 SQL 语句: ```sql ALTER TABLE table_name DROP COLUMN column_name; ``` 其中,column_name 是你要删除的列名。 如果你想要修改一个列的名称和数据类型,可以使用如下的 SQL 语句: ```sql ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name new_data_type; ``` 其中,old_column_name 是你要修改的列名,new_column_name 是该列的新名称,new_data_type 是该列的新数据类型。 如果你想要重命名一个表,可以使用如下的 SQL 语句: ```sql ALTER TABLE table_name RENAME TO new_table_name; ``` 其中,new_table_name 是你要重命名的新表名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值