👨?🎓 博主介绍:
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 数据库中执行。
大家点赞、收藏、关注、评论啦 👇🏻👇🏻👇🏻微信公众号👇🏻👇🏻👇🏻
|