您的位置:首页 > 数码常识数码常识
mysql创建数据库和数据表(在MySQL中创建数据库和表)
2025-05-12人已围观
mysql创建数据库和数据表(在MySQL中创建数据库和表)
虚构一个微型在线书店的数据库和数据,作为后续MySQL脚本的执行源,方便后续MySQL和SQL的练习。
在MySQL中创建数据库和表
在虚构这个库的过程中,主要涉及的是如何使用命令行管理 MySQL数据库对象:数据库、表、索引、外键等;另一个更为重要的是如何Mock对应表的数据。
虚构书店数据库的dump脚本:Github
数据库(Database)
将要创建的虚拟书店的数据库名为: mysql_practice;
创建数据库的语法:
IF NOT EXISTS: 可选项,避免数据库已经存在时报错。CHARACTER SET:可选项,不指定的时候会默认给个。查看当前MySQL Server支持的字符集(character set):show character set; -- 方法1 show charset; -- 方法2 show char set; -- 方法3COLLATE:针对特定character set比较字符串的规则集合;可选项,不指定的时候会默认给个。获取 charater set的 collationsshow collation like 'utf8%'; collation名字的规则: charater_set_name_ci 或者 charater_set_name_cs 或 charater_set_name_bin;_ci表示不区分大小写,_cs表示区分大小写;_bin表示用编码值比较。示例:CREATE DATABASE my_test_tb CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
TODO: 关于 character set和collations,内容稍微有点多,后面会单独记一篇文章。
登录的时候选择数据库
登录后选择数据库
查看当前选的数据库
创建新数据库
通过下面的语句可以检查创建的数据库:
可以看到,如果创建数据库时候没有指定 character set 和 collate 的话,会默认指定一套。
显示所有当前账户可见的数据库
删除数据库
MySQL中 schema 是 database 的同义词,因此也可以使用下面语句删除数据库:
数据表(Table)MySQL创建数据表的语法
表列的定义语法:
表的约束(Table Constraints): UNIQUE, CHECK, PRIMARY KEY and FOREIGN KEY.
查看表的定义
创建mysql_practice数据表
导入region数据
下载region csv数据:【三级】省市区 数据下载.
导入语句:
导入如果报错:
通过命令 mdfind -name my.cnf 找到mysql配置文件 my.cnf;解决办法 (还没实际测试过,大都使用的是 LOATA DATA LOCAL INFILE 方式)
或者使用 LOAD DATA LOCAL INFILE代替 LOAD DATA INFILE 即:
如果报错:
或者报错:
查看配置: show variables like "local_infile";修改配置: set global local_infile=1;生成Customer数据
创建一个SP:
调用SP:
生成产品分类和产品数据
第零步: 手动插入产品分类到product_category表中
第一步: 用Python写个爬虫工具,抓取书店的商品信息。
下面是抓取当当搜索“科学”关键字的书籍列表。
第二步: 导入csv数据到MySQL数据表mock_science中。
第三步: 插入科学类书信息到product表中
循环第一到第三步,可以插入更多的产品信息。练习数据库最终抓取了JAVA,儿童,科学三个关键搜索出的第一页书籍。
生成订单数据
随机生成订单数据的SP(注意:这个sp生成的数据,还需要进一步处理):
总共会生成几十万或上百万条order数据;最好先简单加下index,不然query太慢,可以在创建db table后就加上。
添加index:
更新order no:
如果不想有重复的order no,可以通过下面的sql更新order no:
如果还有重复的order no,继续run上面这个sql,直到没有重复的即可。
更新order表里的total_price:
至此,我们的数据库表和对应的mock数据已经基本完成。使用mysqldump备份一下:
下一步视图(View)存储过程(Store Procedure)函数(Function)触发器(Trigger)定时任务(Job)
上面就是小居数码小编今天给大家介绍的关于(在MySQL中创建数据库和表)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。
94%的朋友还想知道的:
10款最出色的免费数据库管理工具推荐(免费数据库管理工具)
数据库索引调优(数据库索引和优化)
数据库索引是干什么用的(数据库索引是干啥的)
mysql数据库安装方法(安装mysql数据库步骤)
154617
虚构一个微型在线书店的数据库和数据,作为后续MySQL脚本的执行源,方便后续MySQL和SQL的练习。
在MySQL中创建数据库和表
在虚构这个库的过程中,主要涉及的是如何使用命令行管理 MySQL数据库对象:数据库、表、索引、外键等;另一个更为重要的是如何Mock对应表的数据。
虚构书店数据库的dump脚本:Github
数据库(Database)
将要创建的虚拟书店的数据库名为: mysql_practice;
创建数据库的语法:
IF NOT EXISTS: 可选项,避免数据库已经存在时报错。CHARACTER SET:可选项,不指定的时候会默认给个。查看当前MySQL Server支持的字符集(character set):show character set; -- 方法1 show charset; -- 方法2 show char set; -- 方法3COLLATE:针对特定character set比较字符串的规则集合;可选项,不指定的时候会默认给个。获取 charater set的 collationsshow collation like 'utf8%'; collation名字的规则: charater_set_name_ci 或者 charater_set_name_cs 或 charater_set_name_bin;_ci表示不区分大小写,_cs表示区分大小写;_bin表示用编码值比较。示例:CREATE DATABASE my_test_tb CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
TODO: 关于 character set和collations,内容稍微有点多,后面会单独记一篇文章。
登录的时候选择数据库
登录后选择数据库
查看当前选的数据库
创建新数据库
通过下面的语句可以检查创建的数据库:
可以看到,如果创建数据库时候没有指定 character set 和 collate 的话,会默认指定一套。
显示所有当前账户可见的数据库
删除数据库
MySQL中 schema 是 database 的同义词,因此也可以使用下面语句删除数据库:
数据表(Table)MySQL创建数据表的语法
表列的定义语法:
表的约束(Table Constraints): UNIQUE, CHECK, PRIMARY KEY and FOREIGN KEY.
查看表的定义
创建mysql_practice数据表
导入region数据
下载region csv数据:【三级】省市区 数据下载.
导入语句:
导入如果报错:
通过命令 mdfind -name my.cnf 找到mysql配置文件 my.cnf;解决办法 (还没实际测试过,大都使用的是 LOATA DATA LOCAL INFILE 方式)
或者使用 LOAD DATA LOCAL INFILE代替 LOAD DATA INFILE 即:
如果报错:
或者报错:
查看配置: show variables like "local_infile";修改配置: set global local_infile=1;生成Customer数据
创建一个SP:
调用SP:
生成产品分类和产品数据
第零步: 手动插入产品分类到product_category表中
第一步: 用Python写个爬虫工具,抓取书店的商品信息。
下面是抓取当当搜索“科学”关键字的书籍列表。
第二步: 导入csv数据到MySQL数据表mock_science中。
第三步: 插入科学类书信息到product表中
循环第一到第三步,可以插入更多的产品信息。练习数据库最终抓取了JAVA,儿童,科学三个关键搜索出的第一页书籍。
生成订单数据
随机生成订单数据的SP(注意:这个sp生成的数据,还需要进一步处理):
总共会生成几十万或上百万条order数据;最好先简单加下index,不然query太慢,可以在创建db table后就加上。
添加index:
更新order no:
如果不想有重复的order no,可以通过下面的sql更新order no:
如果还有重复的order no,继续run上面这个sql,直到没有重复的即可。
更新order表里的total_price:
至此,我们的数据库表和对应的mock数据已经基本完成。使用mysqldump备份一下:
下一步视图(View)存储过程(Store Procedure)函数(Function)触发器(Trigger)定时任务(Job)
上面就是小居数码小编今天给大家介绍的关于(在MySQL中创建数据库和表)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。
94%的朋友还想知道的:
10款最出色的免费数据库管理工具推荐(免费数据库管理工具)
数据库索引调优(数据库索引和优化)
数据库索引是干什么用的(数据库索引是干啥的)
mysql数据库安装方法(安装mysql数据库步骤)
154617
很赞哦! ()
下一篇:返回列表