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

目录

🥙1. 基础创建

🧀实例1

🥙2. 带约束创建

🧀实例2

🥙3. 复制创建

 🧀实例3:

 🧀实例4:

 🧀实例5:

​ 🧀实例6:

 🧀实例7:

🥙4. 牛客题:


🥙1. 基础创建

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

🧀实例1

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

列表

类型

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
);

结果:

🥙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;

 结果:

🥙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 - 常用插入数据的三种方法详解及练习-CSDN博客

🧀实例3

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

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

 结果

 🧀实例4

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

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

 结果:

 

 🧀实例5

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

create table actor_copy1
select *
from actor;

 结果

🧀实例6

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

create table actor_name2
select first_name,last_name
from actor;

 结果

 🧀实例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';

结果:

🥙4. 牛客题:

SQL227 创建一个actor表

SQL230 创建一个actor_name表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/284140.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

社科院与新加坡新跃社科联合培养博士—我想我的人生变得精彩

既然人生的幕布已拉开,就一定要积极的演出,既然脚步已经跨出,风吹坎坷也不能退步,既然我已经把希望播在这里,就一定要坚持到胜利的谢幕,人生没有什么是为了别人做的,工作不是为了老板&#xff0…

手把手入门MO | 如何通过通过 FineBI 实现 MatrixOne 的可视化报表

1. 概述 FineBI 是新一代大数据分析工具,它有助于企业的业务人员深入了解和充分利用他们的数据。在 FineBI 中,用户可以轻松地制作多样化的数据可视化信息,自由分析和探索数据。FineBI 具有多种数据连接功能,可用于创建各种复杂的…

Android通过listview实现输入框自定义提示栏(代替AutoCompleteTextView自动完成文本框)

效果图 背景 本人因为一些需求初次接触android,需要实现一个类似android自带的AutoCompleteTextView(自动完成文本框),但和其不同的是通过后端接口直接筛选数据(自己的分词处理规则),然后返回前…

Android-高效加载大图

Android 高效加载大图 前言读取位图尺寸和类型将按比例缩小的版本加载到内存中 前言 图片有各种形状和大小。在很多情况下,它们的大小超过了典型应用界面的要求。例如,系统“图库”应用会显示使用 Android 设备的相机拍摄的照片,这些照片的分…

如何实现公网访问本地内网搭建的WBO白板远程协作办公【内网穿透】

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 文章目录 前言1. 部署WBO白板2. 本地访问WBO白板3. Linux 安装cp…

《代码随想录》--二叉树(一)

《代码随想录》--二叉树 第一部分 1、二叉树的递归遍历2、二叉树的迭代遍历3、统一风格的迭代遍历代码4、二叉树的层序遍历226.翻转二叉树 1、二叉树的递归遍历 前序遍历 中序遍历 后序遍历 代码 前序遍历 class Solution {public List<Integer> preorderTraversal(T…

redis:五、缓存持久化(RDB和AOF)的开启和配置、面试回答模板

持久化 方案 redis中自身存在两种方案&#xff0c;分别叫RDB和AOF&#xff0c;来保障数据的持久化。其中前者默认开启&#xff0c;后者默认关闭。 redis是基于内存的&#xff0c;redis持久化的意思就是将redis数据&#xff0c;即内存数据写入磁盘等持久化存储设备当中。 RDB…

数字化医疗新篇章:构建智能医保支付购药系统

在迎接数字化医疗时代的挑战和机遇中&#xff0c;智能医保支付购药系统的建设显得尤为重要。本文将深入介绍如何通过先进的技术实现&#xff0c;构建一套智能、高效的医保支付购药系统&#xff0c;为全面建设健康中国贡献力量。 1. 引言 随着医疗科技的飞速发展&#xff0c;…

【网络安全技术】传输层安全——SSL/TLS

一、TLS位置及架构 TLS建立在传输层TCP/UDP之上&#xff0c;应用层之下。 所以这可以解决一个问题&#xff0c;那就是为什么抓不到HTTP和SMTP包&#xff0c;因为这两个在TLS之上&#xff0c;消息封上应用层的头&#xff0c;下到TLS层&#xff0c;TLS层对上层消息整个做了加密&…

vue3 插槽slot

插槽是子组件中的提供给父组件使用的一个占位符&#xff0c;用 <slot> 表示&#xff0c;父组件可以在这个占位符中填充任何模板代码&#xff0c;如 HTML、组件等&#xff0c;填充的内容会替换子组件的<slot> 元素。<slot> 元素是一个插槽出口 (slot outlet)&…

【Linux】磁盘分区管理及挂载/永久挂载管理

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…

Aegisub字幕入门篇

目录 中文文档 介绍 语法 fs 控制字体大小 fn 控制字体样式 ​编辑 滚动特效代码 淡入淡出代码 渐变代码 字体大小渐变 字体间距渐变 字体边缘模糊渐变 字体对齐方式渐变 字体的渐变色设置 竖向跑马灯制作&#xff0c;电影字幕片尾 文字抖动 批量设置特效样式 中…