mysql数据库-表的基本操作

后端 / 2021-08-23

创建表

create table tableName(
	field1 datatype;
	field2 dataype;
	...
) character set 字符集 collate 校对规则 engine 引擎;
  • table_name: 表名
  • field: 字段名
  • datatype: 数据类型
  • 字符集: 编码方式(默认所在数据库字符集)
  • 校对规则: 是否区分大小写(默认所在数据库校对规则)
  • 引擎: 数据库引擎

示例

create table studeent(
    name varchar(16),
    score double
) character set utf8 collate utf8_bin engine innodb;

修改表

add

# 添加字段  before after
alter table studeent
    add addr varchar(16) after name;

modify

# 修改字段属性
alter table studeent
    modify addr varchar(32);

change

# 修改字段名
alter table studeent
    change column addr address varchar(32);

drop

# 删除字段
alter table studeent
    drop address;

删除表

drop tableName;

修改表名

rename table studeent to  stu;
  • 旧表名 to 新表名

修改字符集

alter table character set utf8;

查看表结构

desc tableName;

复制表

复制表结构

create table tableName like tableName2;

复制表数据

insert into tableName (select * from tableName2);

表去重

  • 创建临时表
  • 插入去重数据到临时表 (distinct)
  • 清空原来表
  • 从临时表 copy 到 原来表
  • 删除临时表
####################### 表去重 ######################
# 1. 创建临时表
# 2. 插入去重数据到临时表 (distinct)
# 3. 清空原来表
# 4. 从临时表 copy 到 原来表
# 5. 删除临时表
####################################################

# 1. 创建临时表
create table temp like my_tab02;

# 2. 插入去重数据到临时表
insert into temp
select distinct *
from my_tab02;


# 3. 清空原来表
delete from my_tab02;

# 4. 从临时表 copy 到 原来表
insert into my_tab02 select * from temp;

# 5. 删除临时表
drop table temp;

select *
from my_tab02;