MySQL - 创建表的三种方法详解及练习

2024-06-04 8587阅读

目录

🥙1. 基础创建

🧀实例1

🥙2. 带约束创建

🧀实例2

🥙3. 复制创建

 🧀实例3:

 🧀实例4:

 🧀实例5:

​ 🧀实例6:

 🧀实例7:

🥙4. 牛客题:


🥙1. 基础创建

-- 基本语法
CREATE TABLE 表名称(
    字段名1 数据类型1,
    字段名2 数据类型2,
    字段名3 数据类型3);

🧀实例1

创建一个actindex.php/tags-1038.html" class="superseo">or表,包含如下列信息

列表

类型

actor_id

smallint(5)

first_name

varchar(45)

last_name

varchar(45)

last_update

date

示例代码

drop table if exists actor;
create table actor(
    actor_id smallint(5),
    first_name varchar(45),
    last_name varchar(45),
    last_update date
);

结果:

MySQL - 创建表的三种方法详解及练习 第1张

🥙2. 带约束创建

-- 基本语法
CREATE TABLE 表名称(
    字段名1 数据类型1 主键 自增长,
    字段名2 数据类型2 非空 默认值,
    字段名3 数据类型3)
ENGINE=当前表格的引擎 
AUTO_INCREMENT=自增长的起始值 
DEFAULT CHARSET=表数据的默认字符集;

🧀实例2

创建一个actor表,包含如下列信息

CHARSET为utf8,ENGINE为INNODB

列表

类型

是否为NULL

含义

其他

actor_id

smallint(5)

not null

主键id

自增从1开始

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 auto_increment comment '主键id',
    first_name varchar(45) not null comment '名字',
    last_name varchar(45) not null comment '姓氏',
    last_update date not null comment '日期'
)ENGINE=INNODB,AUTO_INCREMENT=1,DEFAULT charset =utf8;

 结果:

MySQL - 创建表的三种方法详解及练习 第2张

🥙3. 复制创建

CREATE TABLE new_table LIKE old_table;   #复制表的所有结构
CREATE TABLE new_table SELECT list FROM old_table WHERE 0;  #复制表的部分结构
CREATE TABLE new_table SELECT * FROM old_table;   #复制表的所有结构+所有数据
CREATE TABLE new_table SELECT field_list FROM old_table;  #复制表的部分结构+所有数据
CREATE TABLE new_table SELECT field_list FROM old_table WHERE condition;  #复制表的部分结构+部分数据 

先往实例2创建的actor表中插入几条数据

insert into actor values ('1', 'PENELOPE', 'GUINESS', '2006-02-15 12:34:33'), 
                         ('2', 'NICK', 'WAHLBERG', '2006-02-15 12:34:33');

MySQL - 创建表的三种方法详解及练习 第3张

 关于如何插入数据的讲解可参选如下连接:

Mysql - 常用插入数据的三种方法详解及练习-CSDN博客

🧀实例3:

另建一个和actor一样的空表actor_copy

drop table if exists actor_copy;
create table actor_copy like actor;

 结果

MySQL - 创建表的三种方法详解及练习 第4张

 🧀实例4:

将actor表中的first_name, last_name单独拿出来,存在一个新的空表actor_name中

create table actor_name
select first_name,last_name
from actor
where 0;

 结果:

 MySQL - 创建表的三种方法详解及练习 第5张

 🧀实例5:

另建一个和actor一模一样表actor_copy1

create table actor_copy1
select *
from actor;

 结果

MySQL - 创建表的三种方法详解及练习 第6张🧀实例6:

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

create table actor_name2
select first_name,last_name
from actor;

 结果

MySQL - 创建表的三种方法详解及练习 第7张

 🧀实例7:

请你创建一个actor_name3表,并且将actor表中的first_name为’Nick'人的first_name和last_name导入该表.

create table actor_name3
select first_name,last_name
from actor
where first_name='NICK';

结果:

MySQL - 创建表的三种方法详解及练习 第8张

🥙4. 牛客题:

SQL227 创建一个actor表

SQL230 创建一个actor_name表


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]