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

提供信息门户网站制作网站底部版权代码

提供信息门户网站制作,网站底部版权代码,东莞网上推广平台,网校平台搭建数据库入门教程:以商品订单系统为例 一、前言 数据库是现代软件开发中不可或缺的基础,掌握数据库的基本概念和操作,是每个开发者的必经之路。本文将以“商品-品牌-客户-订单-订单项”为例,带你快速入门数据库的核心知识和基本操…

数据库入门教程:以商品订单系统为例

一、前言

数据库是现代软件开发中不可或缺的基础,掌握数据库的基本概念和操作,是每个开发者的必经之路。本文将以“商品-品牌-客户-订单-订单项”为例,带你快速入门数据库的核心知识和基本操作。


二、数据库基础知识回顾

1. 主键(Primary Key, PK)

主键是表中用来唯一标识一条记录的一列或多列的组合。主键分为业务主键(如身份证号、手机号等有实际业务意义的字段)和代理主键(如自增ID)。

2. 外键(Foreign Key, FK)

外键用于连接两张表,是引用另一张表的主键或唯一键,用于保证数据的完整性和关联性。

3. 关系范式

  • 1NF(第一范式):每一列的值都是不可再分的原子值。
  • 2NF(第二范式):表中的每个非主属性都完全依赖于主键。
  • 3NF(第三范式):非主属性之间不能有传递依赖。

范式的意义:消除冗余、保证数据完整性和一致性。


三、SQL 语言分类

  • DDL(数据定义语言):用于定义和管理数据库对象(如表、视图、索引等)。
    • CREATE:创建
    • ALTER:修改
    • DROP:删除
    • TRUNCATE:清空
    • GRANT:授权
  • DML(数据操作语言):用于对数据进行增删改查(CRUD)。
    • INSERT:插入
    • SELECT:查询
    • UPDATE:更新
    • DELETE:删除
  • TCL(事务控制语言):用于管理事务。

四、常用数据类型

  • 数值类型bittinyintsmallintintbigintdecimaldouble
  • 文本类型CHARVARCHARTEXTBLOBENUMSET
  • 日期时间类型DATETIMEDATETIMETIMESTAMPYEAR
  • JSON类型:用于存储结构化数据(如数组、对象)

五、实战:商品订单系统表设计

1. 创建数据库

CREATE DATABASE shopdb;
USE shopdb;

2. 创建表结构

(1)品牌表
CREATE TABLE brand (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(32) NOT NULL
);
(2)商品表
CREATE TABLE product (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(64) NOT NULL,price DECIMAL(10,2) NOT NULL,brand_id INT,FOREIGN KEY (brand_id) REFERENCES brand(id)
);
(3)客户表
CREATE TABLE customer (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(32) NOT NULL,tel CHAR(11),birthday DATE
);
(4)订单表
CREATE TABLE orders (id INT PRIMARY KEY AUTO_INCREMENT,customer_id INT,order_date DATETIME DEFAULT CURRENT_TIMESTAMP,FOREIGN KEY (customer_id) REFERENCES customer(id)
);
(5)订单项表
CREATE TABLE order_item (id INT PRIMARY KEY AUTO_INCREMENT,order_id INT,product_id INT,quantity INT NOT NULL,FOREIGN KEY (order_id) REFERENCES orders(id),FOREIGN KEY (product_id) REFERENCES product(id)
);

3. 插入数据示例

-- 插入品牌
INSERT INTO brand(name) VALUES ('华为'), ('苹果');-- 插入商品
INSERT INTO product(name, price, brand_id) VALUES ('Mate60', 4999.00, 1), ('iPhone15', 6999.00, 2);-- 插入客户
INSERT INTO customer(name, tel, birthday) VALUES ('张三', '13800000001', '1990-01-01'), ('李四', '13800000002', '1992-02-02');-- 插入订单
INSERT INTO orders(customer_id) VALUES (1), (2);-- 插入订单项
INSERT INTO order_item(order_id, product_id, quantity) VALUES (1, 1, 2), (1, 2, 1), (2, 2, 3);

4. 查询数据示例

-- 查询所有订单及其客户信息
SELECT o.id AS 订单号, c.name AS 客户名, o.order_date
FROM orders o
JOIN customer c ON o.customer_id = c.id;-- 查询某订单的商品明细
SELECT oi.order_id, p.name AS 商品名, oi.quantity, p.price
FROM order_item oi
JOIN product p ON oi.product_id = p.id
WHERE oi.order_id = 1;

http://www.dtcms.com/wzjs/534841.html

相关文章:

  • 什么是网站的权重wordpress 免邮箱
  • 外贸网站搭建wordpress做淘宝的交流插件
  • 网站营销公司哪家好个人博客系统源码
  • php网站游客试用怎么做亚马逊跨境电商入门完整教程
  • 自己做的网站添加域名手机电商平台有哪些
  • 深圳医疗网站建设报价外贸企业网站建设一条龙
  • jsp 响应式网站模板摄影设计素材
  • 广州网站开发外包哪家好教做发绳的网站
  • 莱芜网站建设开发公司网站怎么能在百度搜到
  • ps联盟网站免费建站平台的源码
  • 做软装平台网站wordpress 搜索调用
  • 贵阳品牌网站建设公司企业网站加视频
  • 南湖区建设街道办事处网站微信官方小程序开发工具
  • 网站建设过程有哪几个阶段科技网站建设分析
  • 免费打广告网站网络营销包括的主要内容有
  • 山西省住房与城乡建设部网站北京做彩右影影视公司网站
  • 深圳网站设计很棒 乐云践新做交易网站存在什么风险
  • 做公司网站的必要性wordpress4.5发布模块
  • 网站做301打不开工信部的网站备案
  • 社区网站建设难点钦州网站推广
  • 文件注入网站wordpress获取新密码错误
  • 网站注册地查询成都网站建设公司排名
  • eclipse做购物网站网站开发最新效果
  • 手机自助建站平台服装网页设计素材
  • 网站推广属于哪些高并发系统架构
  • 怎么进行网站开发wordpress提示php版本低
  • 苏州网站制作网站建设网站网站建设企业
  • wordpress商城模板免费下载优化seo方法
  • 河源定制网站建设推广wordpress破解模板
  • 济南网站推广¥做下拉去118cr自己做的网站上传到