sql创建数据库、设置主键外键、插入记录

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 在数据库中创建一个玩具经销商订单录入系统。这些表用来完成下面几项任务:管理供应商管理产品目录管理顾客列表录入顾客订单一、供应商Vendors表1.

在数据库中创建一个玩具经销商订单录入系统。这些表用来完成下面几项任务:

  • 管理供应商
  • 管理产品目录
  • 管理顾客列表
  • 录入顾客订单

一、供应商Vendors表

1.1表描述

说明
vend_id 唯一但供应商id
vend_name 供应商名
vend_address 供应商地址
vend_city 供应商所在城市
vend_state 供应商所在州
vend_zip 供应商地址邮政编码
vend_country 供应商所在国家

在我本机的mysql中创建一个名为toyshop的数据库:

mysql> create database toyshop;
AI 代码解读

1.2创建表

创建venderos表

mysql> create table Vendors (vend_id char(10) NOT NULL,
    -> vend_name char(50) NOT NULL,vend_address char(50) NULL,
    -> vend_city char(50) NULL,vend_state char(5) NULL,
    -> vend_zip char(10) NULL,vender_country char(50) NULL);
Query OK, 0 rows affected (0.02 sec)
AI 代码解读

1.3设置主键

alter table vendors add primary key (vend_id);
AI 代码解读

1.4插入数据

insert into Vendors(vend_id,vend_name,vend_address,vend_city,vend_state,vend_zip,vend_country) VALUES('BRS01','Bears R Us','123 Main Street','Bear Town','MI','44444', 'USA'),('BRE02','Bear Emporium','500 Park Street','Anytown','OH','44333', 'USA'),('DLL01','Doll House Inc.','555 High Street','Dollsville','CA','99999', 'USA'),('FRB01','Furball Inc.','1000 5th Avenue','New York','NY','11111', 'USA'),('FNG01','Fun and Games','42 Galaxy Road','London', NULL,'N16 6PS', 'England'),('JTS01','Jouets et ours','1 Rue Amusement','Paris', NULL,'45678', 'France');
AI 代码解读

二、Products表

2.1表描述

说明
prod_id 唯一的产品ID
vend_id 产品供应商ID
prod_name 产品名
prod_price 产品价格
prod_desc 产品描述

2.2创建表

mysql> create table Products(prod_id char(10) NOT NUll,
    -> vend_id char(10) NOT NULL,prod_name char(255) NOT NULL,
    -> prod_price decimal(8,2) NOT NULL,
    -> prod_desc text NULL);
Query OK, 0 rows affected (0.01 sec)
AI 代码解读

2.3设置主键

alter table products add primary key (prod_id);
AI 代码解读

2.4插入数据

mysql> insert into Products(prod_id,vend_id,prod_name,prod_price,prod_desc) values('BR01', 'BRS01', '8 inch teddy bear', 5.99, '8 inch teddy bear, comes with cap and jacket'),('BR02', 'BRS01', '12 inch teddy bear', 8.99, '12 inch teddy bear, comes with cap and jacket'),('BR03', 'BRS01', '18 inch teddy bear', 11.99, '18 inch teddy bear, comes with cap and jacket'),('BNBG01', 'DLL01', 'Fish bean bag toy', 3.49, 'Fish bean bag toy, complete with bean bag worms with which to feed it'),('BNBG02', 'DLL01', 'Bird bean bag toy', 3.49, 'Bird bean bag toy, eggs are not included'),('BNBG03', 'DLL01', 'Rabbit bean bag toy', 3.49, 'Rabbit bean bag toy, comes with bean bag carrots'),('RGAN01', 'DLL01', 'Raggedy Ann', 4.99, '18 inch Raggedy Ann doll'),('RYL01', 'FNG01', 'King doll', 9.49, '12 inch king doll with royal garments and crown'),('RYL02', 'FNG01', 'Queen doll', 9.49, '12 inch queen doll with royal garments and crown');
Query OK, 9 rows affected (0.00 sec)
Records: 9  Duplicates: 0  Warnings: 0
AI 代码解读

三、Customers表

3.1表描述

Customers表存储所有顾客的信息,每个顾客有唯一的ID.

说明
cust_id 唯一的顾客ID
cust_name 顾客名
cust_address 顾客地址
cust_city 顾客所在的城市
cust_state 顾客所在州
cust_zip 顾客地址邮政编码
cust_country 顾客所在国家
cust_contact 顾客的联系名
cust_email 顾客的邮件地址

3.2创建表


mysql> create table Customers(cust_id char(10) NOT NULL,
    -> cust_name char(50) NOT NULL,
    -> cust_address char(50) NULL,
    -> cust_city char(50) NULL,
    -> cust_state char(5) NULL,cust_zip char(10) NULL,cust_country char(50) NULL,
    -> cust_contact char(50) NULL,cust_email char(255) NULL);
Query OK, 0 rows affected (0.02 sec)
AI 代码解读

3.3设置主键

alter table Customers add primary key (cust_id);
AI 代码解读

3.4插入数据


INSERT INTO Customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact, cust_email)
VALUES('1000000001', 'Village Toys', '200 Maple Lane', 'Detroit', 'MI', '44444', 'USA', 'John Smith', 'sales@villagetoys.com'),
('1000000002', 'Kids Place', '333 South Lake Drive', 'Columbus', 'OH', '43333', 'USA', 'Michelle Green',' '),
('1000000003', 'Fun4All', '1 Sunny Place', 'Muncie', 'IN', '42222', 'USA', 'Jim Jones', 'jjones@fun4all.com'),
('1000000004', 'Fun4All', '829 Riverside Drive', 'Phoenix', 'AZ', '88888', 'USA', 'Denise L. Stephens', 'dstephens@fun4all.com'),
('1000000005', 'The Toy Store', '4545 53rd Street', 'Chicago', 'IL', '54545', 'USA', 'Kim Howard',' ')
;
AI 代码解读

四、Orders表

4.1表描述

Orders表存储顾客订单,每个订单唯一编号。

说明
order_num 唯一的订单号
order_date 订单日期
cust_id 订单顾客ID

4.2创建表


mysql> create table Orders(order_num int NOT NULL,order_date datetime NOT NULL,cust_id char(10) NOT NULL);
Query OK, 0 rows affected (0.02 sec)
AI 代码解读

4.3 设置主键

alter table orders add primary key(order_num);
AI 代码解读

4.4插入数据

mysql> INSERT INTO Orders(order_num, order_date, cust_id)
    -> values (20005, '2004-05-01', '1000000001'),
    -> (20006, '2004-01-12', '1000000003'),
    -> (20007, '2004-01-30', '1000000004'),
    -> (20008, '2004-02-03', '1000000005'),
    -> (20009, '2004-02-08', '1000000001');
Query OK, 5 rows affected (0.01 sec)
Records: 5  Duplicates: 0  Warnings: 0
AI 代码解读

五、OrderItems表

5.1描述表

OrderItems表存储每个订单中的实际物品。

说明
order_num 订单号
order_item 订单物品号
order_id 产品ID
quantity 物品数量
item_price 物品价格

5.2创建表

mysql> create table OrderItems( order_num int NOT NULL,order_item int NOT NULL,prod_id char(10) NOT NULL,
    -> quantity int NOT NULL,item_price decimal(8.2) NOT NULL);
Query OK, 0 rows affected (0.01 sec)
AI 代码解读

5.3 设置主键

 ALTER TABLE OrderItems add primary key (order_num,order_item);
AI 代码解读

5.4插入数据

mysql> INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
    -> VALUES(20005, 1, 'BR01', 100, 5.49),
    -> (20005, 2, 'BR03', 100, 10.99),
    -> (20006, 1, 'BR01', 20, 5.99),
    -> (20006, 2, 'BR02', 10, 8.99),
    -> (20006, 3, 'BR03', 10, 11.99),
    -> (20007, 1, 'BR03', 50, 11.49),
    -> (20007, 2, 'BNBG01', 100, 2.99),
    -> (20007, 3, 'BNBG02', 100, 2.99),
    -> (20007, 4, 'BNBG03', 100, 2.99),
    -> (20007, 5, 'RGAN01', 50, 4.49),
    -> (20008, 1, 'RGAN01', 5, 4.99),
    -> (20008, 2, 'BR03', 5, 11.99),
    -> (20008, 3, 'BNBG01', 10, 3.49),
    -> (20008, 4, 'BNBG02', 10, 3.49),
    -> (20008, 5, 'BNBG03', 10, 3.49),
    -> (20009, 1, 'BNBG01', 250, 2.49),
    -> (20009, 2, 'BNBG02', 250, 2.49),
    -> (20009, 3, 'BNBG03', 250, 2.49);
Query OK, 18 rows affected, 18 warnings (0.00 sec)
AI 代码解读
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
打赏
0
0
0
0
41
分享
相关文章
从“写SQL”到“聊数据”:NL2SQL如何用自然语言解锁数据库?
本文系统性地阐述了自然语言转SQL(NL2SQL) 技术如何让非技术背景的业务分析师实现数据自助查询,从而提升数据驱动决策的效率与准确性。
从“写SQL”到“聊数据”:NL2SQL如何用自然语言解锁数据库?
第二篇:关系型数据库的核心概念与 SQL 基础
本篇内容深入浅出地讲解了关系型数据库的核心概念与SQL基础,适合有一定计算机基础的学习者。文章涵盖数据库的基本操作(CRUD)、数据类型、表的创建与管理等内容,并通过实例解析SELECT、INSERT、UPDATE、DELETE等语句的用法。此外,还推荐了多种学习资源与实践建议,帮助读者巩固知识。学完后,你将掌握基础数据库操作,为后续高级学习铺平道路。
198 1
数据库数据恢复——sql server数据库被加密的数据恢复案例
SQL server数据库数据故障: SQL server数据库被加密,无法使用。 数据库MDF、LDF、log日志文件名字被篡改。 数据库备份被加密,文件名字被篡改。
Go语言数据库编程:使用 `database/sql` 与 MySQL/PostgreSQL
Go语言通过`database/sql`标准库提供统一数据库操作接口,支持MySQL、PostgreSQL等多种数据库。本文介绍了驱动安装、连接数据库、基本增删改查操作、预处理语句、事务处理及错误管理等内容,涵盖实际开发中常用的技巧与注意事项,适合快速掌握Go语言数据库编程基础。
207 62
SqlRest让SQL秒变Http API,还支持20+数据库(含国产数据库)
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
2月前
|
SQL Server Management Studio (SSMS) 21 - 微软数据库管理工具
SQL Server Management Studio (SSMS) 21 - 微软数据库管理工具
383 0
|
2月前
|
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
198 0
GitHub 热门!MindsDB 破解 AI + 数据库瓶颈,究竟有什么惊艳亮点?只需 SQL 即可实现智能预测
MindsDB 是一款将 AI 能力直接注入数据库的开源工具,支持 MySQL、PostgreSQL 等多种数据库连接,通过 SQL 即可完成模型训练与预测。它提供 AutoML 引擎、LLM 集成、联邦查询等功能,简化 MLOps 流程,实现数据到智能的无缝衔接。项目在 GitHub 上已获 32.4k 星,社区活跃,适用于客户流失预警、推荐系统、情感分析等场景。开发者无需深入模型细节,即可快速构建智能解决方案。项目地址:https://github.com/mindsdb/mindsdb。
336 0
数据库主键与索引详解
本文介绍了主键与索引的核心特性及其区别。主键具有唯一标识、数量限制、存储类型和自动排序等特点,用于确保数据完整性和提升查询效率;而索引通过特殊数据结构(如B+树、哈希)优化查询速度,适用于不同场景。文章分析了主键与索引的优劣、适用场景及工作原理,并对比两者在唯一性、数量限制、功能定位等方面的差异,为数据库设计提供指导。
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL 数据库 SQL 语句调优方法详解(2-1)
本文深入介绍 MySQL 数据库 SQL 语句调优方法。涵盖分析查询执行计划,如使用 EXPLAIN 命令及理解关键指标;优化查询语句结构,包括避免子查询、减少函数使用、合理用索引列及避免 “OR”。还介绍了索引类型知识,如 B 树索引、哈希索引等。结合与 MySQL 数据库课程设计相关文章,强调 SQL 语句调优重要性。为提升数据库性能提供实用方法,适合数据库管理员和开发人员。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问