MySQL创建数据表的三种方法,以及三种插入数据的方式

MYSQL创建数据表的三种方法:

1.常规创建

创建一个actor

# create table if not exists 目标表
create table if not exists actor(	--表名若存在则不创建
	actor_id smallint(5) primary key,
	first_name varchar(45) not null,
	last_name varchar(45) not null,
	last_update date not null);

第二种:如果重名则覆盖原来的表

drop table if exists actor;	--表名若存在则删除
create table actor(	
	actor_id smallint(5) primary key,
	first_name varchar(45) not null,
	last_name varchar(45) not null,
	last_update date not null);

2.复制表格

创建一个actor_copy表,复制actor表所有数据

create 目标表 like 来源表
create actor_copy like actor	--新表数据与原表一致

3.将table1的部分拿来创建table2

创建一个actor_name表,并且将actor表中的所有first_name以及last_name导入该表.

create table if not exists actor_name(
	first_name varchar(45) not null,
	last_name varchar(45) not null
)			-- 这里不能加分号,因为是一条sql语句
select first_name,last_name
from actor			-- 自动导入

或者:

create table if not exists actor_name(
	first_name varchar(45) not null,
	last_name varchar(45) not null
);
insert into actor_name
select first_name,last_name
from actor			-- 自动导入

mysql中常用的三种插入数据的语句:

插入数据重复:当插入字段为主键Primary Key,或者unique索引修饰时,则插入数据重复。

1. insert into

直接插入,插入数据重复则报错

# insert into表示插入数据,数据库会检查主键,如果出现重复会报错;
insert into actor values("3","ED","CHASE","2006-02-15 12:34:33");

2. replace into

替换插入,主键或者unique字段重复时,替换原来数据

# replace into表示插入替换数据,需求表中有PrimaryKey,或者unique索引,
#		如果数据库已经存在数据,则用新数据替换,如果没有数据效果则和insert into一样;
replace into actor values("3","ED","CHASE","2006-02-15 12:34:33");

3. insert ignore

忽略插入,主键或者unique字段重复时,则忽略当前插入的数据

# insert ignore表示,如果中已经存在相同的记录,则忽略当前新数据;
insert ignore into actor values("3","ED","CHASE","2006-02-15 12:34:33");
Logo

更多推荐