当前位置: 首页 > news >正文

股票查询系统

使用sql创建一个database,名称为:stock,在stock中创建一个表,名称为:stocks,
表中的各个字段为:
stock_code 最大6位整数数字,必须填写
stock_name, 最大20个汉字,必须填写
category,  最大20个汉字
introduction,最大20000个汉字
pinyin_initials, 最大20个字母

请给出SQL语句来。

CREATE DATABASE IF NOT EXISTS stock;

USE stock;
CREATE TABLE IF NOT EXISTS stocks (stock_code VARCHAR(6) NOT NULL,stock_name VARCHAR(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,category1 VARCHAR(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,category2 VARCHAR(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,category3 VARCHAR(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,introduction TEXT(20000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,pinyin_initials VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,record_date DATE NULL,PRIMARY KEY (stock_code)
);

索引优化:确保远程数据库中的 stock_name、stock_code 和 pinyin_initials 字段上有合适的索引。
索引可以加快查询速度,减少数据库的扫描范围。例如,在 MySQL 中可以使用以下语句创建索引:

CREATE INDEX idx_stock_name ON stocks (stock_name);
CREATE INDEX idx_stock_code ON stocks (stock_code);
CREATE INDEX idx_pinyin_initials ON stocks (pinyin_initials);
你可以使用以下 SQL 语句查看 stocks 表中已有的索引:
SHOW INDEX FROM stocks;

用Python写一个程序,可以读取CSV文件,文件的第1列为stock_code,第2列为stock_name,如果有第3列,则第3列为category,
把CSV文件中的各行数据全部导入到上面的数据库中。
连接数据库的信息为:
# 数据库连接配置
db_config = {
    'host': '192.168.137.130',
    'user': 'root',
    'password': '12345678',
    'database': 'stock'
}
 

1. 查询表中数据的数量

-- 切换到 stock 数据库
USE stock;
-- 查询 stocks 表中的记录数量
SELECT COUNT(*) FROM stocks;

2. 查询第一条数据的内容

-- 切换到 stock 数据库
USE stock;
-- 查询按照 stock_code 升序排序后的第一条数据
SELECT * FROM stocks ORDER BY stock_code ASC LIMIT 1;

使用 DELETE 语句 DELETE 语句是一条 DML(数据操作语言)语句,它会逐行删除表中的数据,并且会记录每一行的删除操作到事务日志中。这意味着在删除大量数据时,DELETE 操作可能会比较慢,不过它可以配合 WHERE 子句来有选择性地删除数据。

-- 切换到 stock 数据库
USE stock;
-- 删除 stocks 表中的所有数据
DELETE FROM stocks;

使用 TRUNCATE 语句 TRUNCATE 语句是一条 DDL(数据定义语言)语句,它会直接删除整个表的数据页,而不是逐行删除数据,因此速度通常比 DELETE 快。但它不能使用 WHERE 子句进行条件删除,会直接清空整个表。

-- 切换到 stock 数据库
USE stock;
-- 清空 stocks 表
TRUNCATE TABLE stocks;

SQL删除stocks表和表中的所有的内容

删除表及其所有内容

-- 切换到 stock 数据库
USE stock;
-- 删除 stocks 表
DROP TABLE IF EXISTS stocks;

--------------------------

连接数据库时,配置中如果有'charset': 'utf8mb4',容易导致程序报错,例如:数据库操作或文件操作出错: Character set '255' unsupported,此时删除这一行即可。

# 远程 MySQL 数据库连接配置
mysql_config = {'host': '118.178.92.143','user': 'read_only_user','password': 'Reading_Stocks%6688','database': 'stock','charset': 'utf8mb4'
}

下面的配置,可以正常运行。

# 远程 MySQL 数据库连接配置
mysql_config = {'host': '118.178.92.143','user': 'read_only_user','password': 'Reading_Stocks%6688','database': 'stock','use_unicode': True
}

尤其是在SQLite复制MYSQL5.7数据库的数据时。

--------------------------


http://www.mrgr.cn/news/95023.html

相关文章:

  • nginx配置反向代理数据库等插件的原理和方式
  • ngx_url_t
  • C语音组播收发
  • numpy学习笔记2:ones = np.ones((2, 4)) 的详解
  • ASP4644四通道降压稳压器的工业高效电源管理方案
  • numpy学习笔记6:np.sin(a) 的详细解释
  • 卷积神经网络 - 卷积层
  • 日常用命令
  • JavaScript变量声明与DOM操作指南
  • 安全地自动重新启动 Windows 资源管理器Bat脚本
  • Unity 云渲染本地部署方案
  • LeetCode[142] 环形链表 II
  • JAVA中关于图形化界面的学习(GUI)动作监听,鼠标监听,键盘监听
  • 【Java】链表(LinkedList)(图文版)
  • Linux IP 配置
  • 利用大语言模型生成的合成数据训练YOLOv12:提升商业果园苹果检测的精度与效率
  • Spring相关面试题
  • numpy学习笔记1:zeros = np.zeros((3, 3)) 详解
  • 安装并使用anaconda(宏观版)
  • 库的制作与原理 linux第课