IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 【如何成为SQL高手】第一关:表管理 -> 正文阅读

[大数据]【如何成为SQL高手】第一关:表管理

👨?🎓 博主介绍:
IT邦德,江湖人称jeames007,10年DBA工作经验
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程

在这里插入图片描述

SQL对于现在的互联网公司产研岗位几乎是一个必备技能,但仅会SQL的话,应该是什么都做不了。
1.如果你是数据分析师,你需要熟练地把自己脑子里的数据和指标需求翻译成SQL逻辑去查询数据,进而完成自己的数据分析报告等,你的产出是分析报告,而不是SQL代码;
2.如果你是数仓工程师(偏应用层),你需要根据业务逻辑去设计模型,编写调度任务去产出数据,以供业务人员使用,你的产出是数据模型和表;
3.如果你是算法工程师,你可能需要用SQL来实现用户标签、特征工程等工作,但是这些是为你的模型训练评估做基础准备工作,你的产出是可以提升某些指标的算法模型。

所以,SQL每个人都要用,但是用来衡量产出的并不是SQL本身,你需要用这个工具,去创造其它的价值。
IT邦德老师带你成为SQL高手,那我们开始吧~

1.建表

定义学生表tb_student,其表结构如下所示,并要求使用InnoDB引擎存储表数据

在这里插入图片描述

create table if not exists tb_student (
studentNo CHAR(10) not NULL primary key comment '学号',
studentName VARCHAR(10) NOT null comment '姓名',
sex CHAR(2) comment '性别',
birthday date comment '出生日期',
native VARCHAR(20) comment '籍贯',
nation VARCHAR(10) DEFAULT '汉' comment '民族',
classNo CHAR(6) comment '所属班级'
) ENGINE=InnoDB comment '学生表';

在这里插入图片描述

2.表重命名

将tb_student的表结构复制到tb_student2
mysql> create table tb_student2 select * from tb_student where 1=3;

使用RENAME [TO]子句将数据库db_school中的数据表tb_student2重新命名为backup_tb_student
alter table tb_student2 rename to backup_tb_student;

3.字段修改

删除数据表tb_student2中的字段nation
mysql> ALTER TABLE tb_student2 DROP nation;

向tb_student表中添加一个varchar(16)类型的字段department,用于描述学生所在院系,要求设置其默认值为“城市学院”,并将该字段添加到原表nation之后
mysql> alter table tb_student add department varchar(16) DEFAULT ‘城市学院’ comment ‘院系’ after nation;

将tb_student中的字段birthday重命名为age,并将其数据类型更改为TINYINT,允许其为NULL,默认值为18
mysql> alter table tb_student change birthday age TINYINT DEFAULT 18;

将tb_student表中的字段department的默认值删除
mysql> ALTER TABLE tb_student ALTER COLUMN department DROP DEFAULT;

将tb_student表中的字段department的默认值改为’环化学院’
mysql> ALTER TABLE tb_student ALTER COLUMN department SET DEFAULT ‘环化学院’;

将tb_student表中的字段department的数据类型更改为varchar(20),
取值不允许为空,并将此字段移至字段studentName之后。
mysql> ALTER TABLE tb_student MODIFY department varchar(20) not null after studentName;

4.删除表

删除数据库db_school中的数据表tb_student,tb_student2
drop table tb_student,tb_student2;

5.技能拓展

5.1 MySQL 数据类型

MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

数值类型如下

整数类型:
TINYINT、SMALLINT、MEDIUMINT、INT 或 INTEGER、BIGINT
带小数的类型:
FLOAT(单精度)、DOUBLE(双精度)、DECIMAL(定点数)

日期和时间类型如下:

DATE:YYYY-MM-DD 日期值
TIME:HH:MM:SS 时间值或持续时间
YEAR:YYYY 年份值
DATETIME:YYYY-MM-DD HH:MM:SS 混合日期和时间值
TIMESTAMP:YYYYMMDDHHMMSS 混合日期和时间值,时间戳

字符串类型如下:

CHAR:定长字符串 0-255 字节 --频繁改变的列建议用 char 类型
VARCHAR:0-65535 字节 变长字符串
BLOB:0-65535 字节 二进制形式的长文本数据,二进制大对象
TEXT:0-65535 字节 长文本数据 、varchar 的加长增强版
LONGTEXT:0-4294967295 字节极大文本数据
ENUM: 1-2 字节 枚举类型(单一值)
SET:1-8 字节 一个集合

5.2 数据库相关操作

创建和删除数据库
mysql> create database test1;
mysql> show create database test1;
mysql> drop database dbname;

选择数据库
mysql> use db1;
Database changed
执行以上命令后,你就已经成功选择了db1数据库,在后续的操作中都会在 db1 数据库中执行。

大家点赞、收藏、关注、评论啦 👇🏻👇🏻👇🏻微信公众号👇🏻👇🏻👇🏻

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-01-28 11:59:11  更:2022-01-28 12:00:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 13:59:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码