首页 > 试题广场 >

创建一个actor_name表

[编程题]创建一个actor_name表
  • 热度指数:133868 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
对于如下表actor,其对应的数据为:
actor_id first_name last_name last_update
1 PENELOPE GUINESS 2006-02-15 12:34:33
2 NICK WAHLBERG 2006-02-15 12:34:33

请你创建一个actor_name表,并且将actor表中的所有first_name以及last_name导入该表.
actor_name表结构如下,题目最后会查询actor_name表里面的数据来对比结果输出
列表 类型 是否为NULL 含义
first_name varchar(45) not null 名字
last_name varchar(45) not null 姓氏
示例1

输入

drop table if exists actor;
CREATE TABLE  actor  (
   actor_id  smallint(5)  NOT NULL PRIMARY KEY,
   first_name  varchar(45) NOT NULL,
   last_name  varchar(45) NOT NULL,
   last_update  datetime NOT NULL);
insert into actor values ('1', 'PENELOPE', 'GUINESS', '2006-02-15 12:34:33'), ('2', 'NICK', 'WAHLBERG', '2006-02-15 12:34:33');

输出

PENELOPE|GUINESS
NICK|WAHLBERG
根据题意,本题要用两条语句完成,先用 CREATE TABLE 语句创建actor_name表,包含first_name与last_name字段,然后用 INSERT INTO ... SELECT ... 语句向actor_name表插入另一张表中的数据
CREATE TABLE 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;

发表于 2017-07-21 09:49:34 回复(9)
更多回答
create table actor_name
as
select `first_name`
    ,`last_name`
from actor

发表于 2021-11-19 14:22:00 回复(0)
DROP TABLE IF EXISTS actor_name;
CREATE TABLE actor_name (
    first_name varchar(45) NOT NULL COMMENT "名字",
    last_name varchar(45) NOT NULL COMMENT "姓氏"
);
INSERT INTO 
    actor_name
SELECT 
    first_name,
    last_name
FROM
    actor;

发表于 2021-10-18 23:19:00 回复(0)
CREATE TABLE if not exists actor_name(
first_name varchar(45) not null comment '名字',
last_name varchar(45) not null comment '姓氏');
INSERT INTO actor_name
SELECT first_name, last_name
FROM actor;

发表于 2021-10-06 11:42:58 回复(0)
  1. 常规创建
    create table if not exists 目标表 
  2. 复制表格
    create 目标表 like 来源表 
  3. 将table1的部分拿来创建table2
    create table if not exists 表2(字段1,字段n)
      insert into  表2
    select 字段1,字段n
    from 表1
【注意】建表时必须声明列名,如不声明,无法对表进行插入or修改
发表于 2021-09-26 22:17:48 回复(0)
create table actor_name(
    first_name     varchar(45)     not null,
    last_name     varchar(45)     not null

);
insert into actor_name values("PENELOPE","GUINESS"),("NICK","WAHLBERG");

题意没懂
发表于 2020-11-10 23:21:02 回复(0)
create table actor_name as
select first_name,last_name
from actor
发表于 2017-08-30 14:49:06 回复(0)
create table actor_name(
first_name varchar(45) not null,
last_name varchar(45) not null);
insert into actor_name(first_name,last_name) select first_name,last_name from actor;

发表于 2017-07-18 19:49:10 回复(0)

题目使用的是sqlite3,可以这么做:

create table actor_name as 
select first_name,last_name from actor;

如果是mysql,那么as可以去掉,也可以不去掉,例如:

create table actor_name
select first_name,last_name from actor;
发表于 2017-11-08 19:23:49 回复(6)
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;
1.用create table 语句建立actor_name 表
2.用inset into actor select插入子查询的结果集(不需要用values(),()这种形式。这种形式是手工插入单条数据或多条数据时用圆括号分割。插入结果集是不需要)
发表于 2017-08-30 15:59:01 回复(0)
这题考察mysql有三种建表方式:
  1. 常规创建
    create table if not exists 目标表
  2. 复制表格
    create 目标表 like 来源表
  3. 将table1的部分拿来创建table2
    create table if not exists actor_name
    (
    first_name varchar(45) not null,
    last_name varchar(45) not null
    )
    select first_name,last_name
    from actor

这是我复制上位朋友,纯属做笔记
发表于 2021-01-13 13:14:14 回复(0)
插入数据语句使用insert into,查询使用select,将查询到的数据直接插入到表中直接使用如下: 
INSERT INTO actor_name SELECT first_name,last_name FROM actor;

发表于 2017-09-03 21:40:18 回复(0)
【重点】如何把一个表中的记录插入另一个表:insert语句中values的部分替换成子查询,并且把values这个词去掉。
create table actor_name
(first_name varchar(45) not null comment '名字',
last_name varchar(45) not null comment '姓氏');

insert into actor_name
(first_name,last_name)
(select first_name,last_name from actor);

发表于 2021-01-24 01:34:24 回复(0)
create table if not exists actor_name as 

select first_name, last_name from actor
如果是mysql则删去as
另一种做法,先建表actor_name,再批量导入:
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
【注意】建表时必须声明列名,如不声明,无法对表进行插入or修改
发表于 2019-06-11 10:38:56 回复(0)
create table actor_name as select first_name,last_name  from actor 
发表于 2021-12-10 15:32:46 回复(0)
create table actor_name(
    first_name varchar(45) not null comment "名字",
    last_name varchar(45) not null comment "姓氏"
    );
insert into actor_name 
select first_name,last_name from actor;

发表于 2021-09-04 16:04:53 回复(0)
#建表
CREATE TABLE actor_name (
    first_name varchar(45) NOT NULL,
    last_name varchar(45) NOT NULL
);

#插入数据
INSERT INTO actor_name (first_name,last_name) SELECT first_name,last_name FROM actor;

发表于 2021-06-08 21:09:52 回复(0)
-- 检查
drop table if exists actor_name;
-- 建表
create table actor_name
(
    first_name varchar(45)	not null comment '名字',
    last_name varchar(45)	not null comment '姓氏'
);
-- 通过select拆入
insert into actor_name
select first_name,last_name from actor

发表于 2023-11-26 18:36:37 回复(0)
create table 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;
发表于 2022-04-16 15:03:13 回复(0)
sqlite写法:
create table if not exists `actor_name` as select first_name,last_name from `actor`
mysql写法:
create table if not exists `actor_name` select first_name,last_name from `actor`
编辑于 2020-10-13 11:55:28 回复(0)

问题信息

难度:
164条回答 13967浏览

热门推荐

通过挑战的用户

查看代码