CDA数据分析师 - SQL数据库基础 数据类型表操作语句

news/2024/10/20 11:31:56/
  •  SQL 基础概念

【领会】

关系型数据库基本概念

表的基本概念(字段、记录)

表的约束条件(主键、外键、非空、唯一、自增、默认值)

实体关系图(E-R 图)

ANSI-SQL 以及不同的数据库实现的关系

【熟知】

关系型数据库的数据类型

表操作(创建表、修改表、删除表、查看表)

【解析】

  1. 表字段的约束条件主要包括主键、外键、非空、唯一、自增和默认值等

  2. 主键 非空、不能重复;外键 可重复 可为空

  3. 关系数据库的数据类型有(以MySQL为例):

数值类型 | 整数类型:tinyint、smallint、mediumint、int、bigint | 浮点数类型:float、double | 定点小数类型:decima

-- 创建默认数值型表
DROP TABLE
IF EXISTS numerical_value_default_info;
CREATE TABLE numerical_value_default_info ( 
tinyi TINYINT COMMENT'tinyint',
smalli SMALLINT COMMENT'smallint',
mediumi MEDIUMINT COMMENT'mediumint',
i INT COMMENT'int',
bigi BIGINT COMMENT'bigint',
flo FLOAT COMMENT'float', 
dou DOUBLE COMMENT'double', 
deci DECIMAL COMMENT'decimal'
)COMMENT'默认数值型表';

运行以上建表语句后,创建的默认数值型表信息如下:

MySQL常用数值型数据类型

数据类型

说明

占用字节数

取值范围默认显示宽度
无符号有符号

int

整型

 4

[ 0, 2^{32}-1 ][ -2^{31}, 2^{31}-1]11

bigint

长整型

[ 0, 2^{64}-1 ]-2^{63}, 2^{63}-1 ]20
float(T, D)单精度浮点型4T:数据总位数;D:数据中小数点后保留几位
double(T, D)高精度浮点型8
decimal(T, D)定点型T+2

备注:

  • 1个字节 = 8位二进制数
  • 显示宽度和数据类型的取值范围无关

日期/时间类型:year、time、date、datetime、timestamp

数据类型数据格式(说明)占用字节数取值范围
yearYYYY(年)11900 ~ 2155
timeHH:MM:SS(时:分:秒)3-838:59:59 ~ 838:59:59
dateYYYY-MM-DD(年-月-日)31000-01-01 ~ 9999-12-3
datetimeYYYY-MM-DD HH:MM:SS (年-月-日 时:分:秒)81000-01-01 00:00:00 ~ 9999-12-3 23:59:59
timestampYYYY-MM-DD HH:MM:SS(年-月-日 时:分:秒)41970-01-01 00:00:01 UTC ~ 2038-01-19 03:14:17 UTC

备注:datetime和timestamp数据格式一致,但timestamp与时区相关,不同时区查询结果不同。

字符串类型:char、varchar、tinytext、text、mediumtext、longtext、enum、set

二进制类型:bit、binary、varbinary、blob、mediumblob、longblob

char&varchar | binary&varbinary对比
数据类型char(A)varchar(A)binary(A)varbinary(A)
占用字节数A [1, 255]B+1 B<=A A [1, 21585]A[1,255]B+1 B<=A A [1, 65265]
区分大小写不区分不区分区分区分

备注:
1.varchar和varbinary的占用字节最大值
VARCHAR(2222222) //试错值大点

结果:
> 1074 - Column length too big for column 'vachar' (max = 21845); use BLOB or TEXT instead
> 时间: 0s

VARCHAR(21845)
结果:
> 1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
> 时间: 0.001s

最后试出的结果是:VARCHAR - 21585 & varbinary - 65265

2.char&binary 固定长度 | varchar&varbinary可变长度 

3.char&varchar 不区分大小写 | binary&varbinary 区分大小写

-- 创建字符串型表
DROP TABLE
IF EXISTS str_char_info;
CREATE TABLE str_char_info(
c CHAR(255) COMMENT'char',
vc VARCHAR(21585) COMMENT'varchar',
t TEXT COMMENT'text',
e ENUM('a','b') COMMENT'enum',
s SET('1','2') COMMENT'set'
)COMMENT'字符串型表';-- 插入数据
INSERT INTO test.str_char_info
VALUES('a', 'aa', 'aaaaaaaaaa', 'a', '1');
INSERT INTO test.str_char_info
VALUES('A', 'AA', 'AAAAAAAAAAA', 'A', '1');-- 查询
SELECT* 
FROMtest.str_char_info 
WHEREc = 'A'
-- 	vc = "AA";

-- 创建二进制型表
DROP TABLE
IF EXISTS binary_info;
CREATE TABLE binary_info(
b BIT(10) COMMENT'bit',
bi BINARY(4) COMMENT'binary',
vbi VARBINARY(65265) COMMENT'varbinary',
bl BLOB COMMENT'BLOB'
)COMMENT'二进制型表';-- 插入数据
INSERT INTO test.binary_info
VALUES(1023, 'a', 'aa', 'aaaa');INSERT INTO test.binary_info
VALUES(111, 'A', 'AA', 'AAAA');-- 查询
SELECT* 
FROMtest.binary_info 
WHERE
-- 	bi = 'a\0\0\0'vbi = 'aa';

4.表操作语句

-- 创建学生信息表
DROP TABLE 
IF EXISTS`student_info`;
CREATE TABLE `student_info` (`id` int(11) PRIMARY KEY AUTO_INCREMENT COMMENT '学号',`name` varchar(255) NOT NULL COMMENT '姓名',`age` int(11) DEFAULT NULL COMMENT '年龄',`address` varchar(255) DEFAULT NULL COMMENT '地址',`phone` varchar(255) DEFAULT NULL COMMENT '联系电话',`remarks` varchar(255) DEFAULT NULL COMMENT '备注'
)COMMENT'学生信息表';-- 创建学科表
DROP TABLE
IF EXISTS `subject_info`;
CREATE TABLE `subject_info`(
`id` INT PRIMARY KEY AUTO_INCREMENT COMMENT'学科编号',
`name` VARCHAR(20) UNIQUE COMMENT'学科名称',
`remarks` TEXT COMMENT'备注'
)COMMENT'学科表';-- 创建成绩表
DROP TABLE 
IF EXISTS `score_info`;
CREATE TABLE `score_info`(
`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT'id',
`stu_id` INT COMMENT '学号',
`sub_id` INT COMMENT '学科',
`score` DOUBLE COMMENT '成绩',
`remarks` VARCHAR(255) COMMENT '备注' 
) COMMENT '成绩表';-- 修改表名
ALTER TABLE `students_info` RENAME `student_info`;-- 修改字段数据型类型
ALTER TABLE `student_info` MODIFY `address` TEXT;-- 修改字段名
ALTER TABLE `student_info` CHANGE `name` `studentName` VARCHAR(10);-- 增加字段
ALTER TABLE `student_info` ADD `add` BIT(10) UNIQUE; -- 删除字段
ALTER TABLE `student_info` DROP `add`;-- 修改字段顺序
ALTER TABLE `student_info` MODIFY `add` BIT(20) FIRST;
ALTER TABLE `student_info` MODIFY `add` BIT(20) AFTER `age`;-- 添加数据 学生信息表
INSERT INTO `student_info` ( `id`, `name`, `age`, `address`, `phone`, `remarks` )
VALUES( NULL, '小强', 28, '北京·大兴', '17710578257', 'boy' );INSERT INTO `student_info` ( `id`, `name`, `age`, `address`, `phone`, `remarks` )
VALUES( NULL, '张三', 27, '上海·嘉定', '18810881088', 'boy' );INSERT INTO `student_info` ( `id`, `name`, `age`, `address`, `phone`, `remarks` )
VALUES( NULL, '李四', 27, '天津·红桥', '19999999999', 'girl' );-- 添加数据 成绩表
INSERT INTO `score_info` (`stu_id`, `sub_id`, `score` )
VALUES(1, 1, 90.5 ), (1, 2, 99), (1, 3, 96.6),(2, 1, 60.5 ), (2, 2, 55), (2, 3, 78.6),(3, 1, 77.5 ), (3, 2, 88), (3, 3, 99),(4, 1, 88 ), (4, 2, 66), (4, 3, 95.4),(5, 1, 99.5 ), (5, 2, 100), (5, 3, 88),(50, 1, 99.5 ), (50, 2, 100), (50, 3, 88);-- 导入数据FROM CSV文件
LOAD DATA LOCAL INFILE 'C:/Users/xuqiang_duan/Desktop/subject.csv'
INTO TABLE `subject_info`
FIELDS TERMINATED BY ','
IGNORE 1 LINES
;-- 导入数据FROM TXT文件
LOAD DATA LOCAL INFILE 'C:/Users/xuqiang_duan/Desktop/subject.txt'
INTO TABLE `subject_info`
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY ''
LINES TERMINATED BY '\n'
;-- 查看表结构
DESC `subject_info`;


http://www.ppmy.cn/news/625954.html

相关文章

各类音频格式解析

CD格式&#xff1a;天籁之音 当今世界上音质最好的音频格式是什么&#xff1f;当然是CD了。因此要讲音频格式&#xff0c;CD自然是打头阵的先锋。在大多数播放软件的“打开文件类型”中&#xff0c;都可以看到&#xff0a;.cda格式&#xff0c;这就是CD音轨了。标准CD格式也就是…

CDA I 级 备考之 PART 2

PART 2 数据结构 &#xff08;占比15%&#xff09; 0. 总体要求 理解表格结构与表结构的数据特征、理解表结构与表结构数据获取操作方法、理解表结构数据连接及汇总的逻辑、能够应用表结构连接及汇总逻辑关联多表进行汇总求值计算、能够制作 ER关系图. 1. 表格结构数据特征 &…

CDA学习笔记--EXCEL篇

目录 常用快捷键基本操作多个窗口查看工作表冻结窗口保护特定单元格数据自定义序列设置条件格式标识重点信息单元格增加批注两种方式工作表创建超链接修改文本型数据数据验证分类汇总高级筛选功能多条件自定义筛选数据多个工作表数据快速汇总透视表 常用函数应用IFSUMCOUNTIFER…

HTTP Content-Type类型

常见的媒体格式类型如下&#xff1a; text/html &#xff1a; HTML格式 text/plain &#xff1a;纯文本格式 text/xml &#xff1a; XML格式 image/gif &#xff1a;gif图片格式 image/jpeg &#xff1a;jpg图片格式 image/png&#xff1a;png图片…

CDA LEVELⅠ2021最新模拟题一(全网最详细有答案)

白嫖一番!!!!如果院校与CDA合作&#xff0c;就专门有免费报考通道&#xff0c;是不是白嫖一番嘛&#xff0c; CDA一级考试知识点考得基础&#xff0c;考试形式中国式考试&#xff0c;单选多选案例分析题形式。 涉及到数据分析概述、数据结构、数据库基础、描述性统计分析、多…

音视频编码格式汇总

音视频编码格式汇总 一、音频编解码格式 *MPEG Audio Layer 1/2 *MPEG Audio Layer 3(MP3) *MPEG2 AAC *MPEG4 AAC *Windows Media audeo v1/v2/7/8/9 *RealAudio cook/sipro(real media series) *RealAudio AAC/AACPlus(real media series) *QDesign Music 2(apple series) 是…

CDA Level 1 数据分析师:2.1 表格结构数据内容

CDA Level 1 数据分析师&#xff1a;2.1 表格结构数据内容 1. 表格结构特征1. 数据类别2. 结构化数据1. 来源&#xff1a;2. 处理方式&#xff1a;3. 表格结构数据层级&#xff1a;3.1 对象间的父子关系&#xff1a;3.2 表格结构数据的数据类型3.3 单元格的格式属性 2. 表格结构…

CDA数据分析师 - SQL数据库基础 查询连接

SQL 查询 【应用】 查询单表语句 select语句、from 语句、where 语句、group by 语句、having 语句、order by 语句、limit语句&子查询等 聚合函数&#xff0c;包括 count、sum、avg、max&min 等 【DEMO】 -- 查询单表数据 SELECT * FROM score_info AS SCO WHE…