最近,我的一位证券行业的铁哥们想要学习SQL,来取代Excel做数据处理。因此,我决定开设一个系列,从基础知识开始,介绍数据分析的相关内容。这个系列不仅涵盖MySQL的SQL语句,还将涉及使用pymysql操作、Pandas用法、PySparkSQL、PySpark算子的使用以及商业智能(BI)报表平台等方面的内容。
1.mysql下载安装和使用
首先,您需要下载MySQL和Navicat。MySQL是一个广受欢迎的关系数据库管理系统,其开源免费的特点使其成为众多开发者的首选。Navicat则是一款便捷的数据库管理工具,其非常的易用,基本是开发人员的首选,除非公司因为授权问题而禁止员工使用。
Mysql推荐使用Mysql8,相比于MySQL 5.7其有以下优势:
- 支持更高的并发度
- 支持更大的表和数据量
- 支持更强大的功能,如JSON、GIS等
- 支持窗口函数的语法
下载地址MySQL :: Download MySQL Community Server
如果是windows系统的话,下载MSI Installer,按要求选择下一步即可,注意要记住用户配置中自己填写的账户和密码,后面登录mysql时要用到。
安装完成后,打开cmd命令窗口,输入mysql 查看是否安装成功,如果显示没有这个命令的话说明并没有成功安装。
安装成功后,可以使用nacicat软件登录到mysql数据库。
下载地址 Navicat | 下载 Navicat Premium 14 天免费 Windows、macOS 和 Linux 的试用版
安装时选择试用, 如果到期后可以删除注册表重新试用。
在navicat中连接mysql数据库
用户名和密码填写自己安装时填写的数据库。连接成功后,就可以在navicat中编写sql语句了。
2.常用的sql语句
首先是建表语句,首先navicat可以支持手动建表,也可以导入csv、excel建表,这部分功能使用非常方便,不过也通过选择sql语句来建表建表语句的语法如下:
例如,以下建表语句创建了一个名为stock的表,该表包含以下字段:
- code:股票代码,数据类型为VARCHAR(10)
- name:股票名称,数据类型为VARCHAR(20)
- price:当前价格,数据类型为DECIMAL(10,2)
CREATE TABLE stock (
code VARCHAR(10),
name VARCHAR(20),
price DECIMAL(10,2)
)
在创建表时,需要为每个字段指定数据类型。数据类型的选择应根据字段中的数据类型来决定。例如,如果字段中存储的是股票代码,则可以使用CHAR(10)或VARCHAR(10)类型;如果字段中存储的是当前价格,则可以使用DECIMAL(10,2)类型。
当然还有更多的数据类型,如下所示:
- 数值类型
TINYINT:存储1个字节的整数,范围为-128~127
SMALLINT:存储2个字节的整数,范围为-32768~32767
MEDIUMINT:存储3个字节的整数,范围为-8388608~8388607
INT:存储4个字节的整数,范围为-2147483648~2147483647
BIGINT:存储8个字节的整数,范围为-9223372036854775808~9223372036854775807
DECIMAL:存储小数,可以指定精度和小数位数。例如,DECIMAL(10,2)可以存储10位整数和2位小数
FLOAT:存储单精度浮点数
DOUBLE:存储双精度浮点数
- 字符类型
CHAR:存储固定长度的字符串。例如,CHAR(10)可以存储10个字符的字符串
VARCHAR:存储可变长度的字符串。例如,VARCHAR(20)可以存储最多20个字符的字符串
TEXT:存储长文本。例如,TEXT可以存储任意长度的文本
- 日期时间类型
TIME:存储时间,格式为HH:MM:SS
DATETIME:存储日期和时间,格式为YYYY-MM-DD HH:MM:SS
TIMESTAMP:存储日期和时间,格式为YYYY-MM-DD HH:MM:SS.nnnnnn
查询语句
查询语句是SQL中最常用的语句之一,用于从数据库中检索数据。查询语句的语法如下:
SQL
SELECT 字段名1, 字段名2, ...
FROM 表名
WHERE 条件
例如,以下查询语句将从stock表中检索股票代码、股票名称和当前价格:
SELECT code, name, price
FROM stock
查询语句类似于excel的筛选操作。
更新语句
更新语句用于更新数据库中的数据。更新语句的语法如下:
UPDATE 表名
SET 字段名 = 新值
WHERE 条件
例如,以下更新语句将将stock表中股票代码为600000的股票价格更新为100元:
UPDATE stock
SET price = 100
WHERE code = '600000'
更新语句类似于excel的批量替换操作。
插入语句
插入语句用于向数据库中插入数据。插入语句的语法如下:
INSERT INTO 表名 (字段名1, 字段名2, ...)
VALUES (值1, 值2, ...)
例如,以下插入语句将向stock表中插入一条新记录,股票代码为600001,股票名称为中国石油,当前价格为50元:
INSERT INTO stock (code, name, price)
VALUES ('600001', '中国石油', 50)
插入语句类似于excel的手动新增内容。
删除语句
删除语句用于从数据库中删除数据。删除语句的语法如下:
DELETE FROM 表名
WHERE 条件
例如,以下删除语句将从stock表中删除股票代码为600001的记录:
DELETE FROM stock
WHERE code = '600001'
删除语句类似于excel的筛选删除行操作。
3.结语
以上就是SQL基础篇的介绍。通过学习SQL,我们可以掌握在证券行业中使用数据库的基本技能,当然,要想彻底掌握sql语法,一定需要多学多练,在实际应用中成长。