👨?🎓 博主介紹:
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 資料庫中執行,
大家點贊、收藏、關注、評論啦 👇🏻👇🏻👇🏻微信公眾號👇🏻👇🏻👇🏻
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/421863.html
標籤:其他
