SQL Server数据库操作
通过SQL Server建库语句等,采用纯代码方式创建数据库,创建数据表,以及进行相应数据库操作,包括检索,插入,删除,修改。 以下通过一个例题说明数据库操作。 某仓储超市采用POS(PointofSale)收银机负责前台的销售收款,为及时掌握销售信息,并依此指导
通过SQL Server建库语句等,采用纯代码方式创建数据库,创建数据表,以及进行相应数据库操作,包括检索,插入,删除,修改。
以下通过一个例题说明数据库操作。
某仓储超市采用POS(Point of Sale)收银机负责前台的销售收款,为及时掌握销售信息,并依此指导进货,拟建立商品进、销、存数据库信息管理系统。经过系统需求分析、概念结构设计和逻辑结构设计,可以简化得到如下一组关系模式(其中 表示主键, 表示外键):
积分卡(用户编号,用户名,累积消费金额,积分点)
销售详单(销售流水号,商品编码,数量,金额,用户编号,收银员,时间)
销售日汇总(日期,商品编码,数量)
存货表(商品编码,数量)
进货表(送货号码,商品编码,数量,日期)
商品(商品编码,商品名称,单价)
请在SQL Server的查询分析器中按要求完成如下各题:
1、 创建名为Supermarket的数据库,数据文件名取为:Supermarket_data.mdf,日志文件名取为:Supermarket_log.ldf。
2、 按表1-6要求创建6张数据表,并为每张表设置主键码和外键码(若有的话)。
表1 Integralcard积分卡信息表
列名 |
数据类型 |
可否为空 |
说明 |
User_id |
char(10) |
Not null |
用户编号 |
User_name |
varchar(20) |
Not null |
用户名 |
Cumulative_consumption |
numeric(8,2) |
Not null |
累计消费金额 |
Integral_point |
numeric(5,0) |
Not null |
积分点 |
表2 Salesdetails 销售详单信息表
列名 |
数据类型 |
可否为空 |
说明 |
sales_id |
char(10) |
Not null |
销售流水号 |
commodity_code |
char(10) |
Not null |
商品编码 |
number |
numeric(4,0) |
null |
数量 |
amount |
numeric(9,2) |
null |
金额 |
User_id |
char(10) |
Not null |
用户编号 |
cashier |
varchar(20) |
null |
收银员 |
sd_time |
datetime |
null |
时间 |
表3 Salesdatesummary 销售日汇总信息表
列名 |
数据类型 |
可否为空 |
说明 |
sds_date |
datetime |
Not null |
日期 |
commodity_code |
char(10) |
Not null |
商品编码 |
number |
numeric(4,0) |
null |
数量 |
表4 Inventorylist存货信息表
列名 |
数据类型 |
可否为空 |
说明 |
commodity_code |
char(10) |
Not null |
商品编码 |
number |
numeric(4,0) |
null |
数量 |
表5 Purchasetable进货信息表
列名 |
数据类型 |
可否为空 |
说明 |
delivery_number |
char(10) |
Not null |
送货号码 |
commodity_code |
char(10) |
Not null |
商品编码 |
number |
numeric(4,0) |
null |
数量 |
pt_date |
datetime |
Not null |
日期 |
表6 Commodity商品信息表
列名 |
数据类型 |
可否为空 |
说明 |
commodity_code |
char(10) |
Not null |
商品编码 |
commodity_name |
varchar(10) |
Not null |
商品名称 |
commodity_price |
numeric(7,2) |
Not null |
商品单价 |
3、在建好的6张表中,利用对象资源管理器分别输入和更新若干条记录,要求主键码不能为空和重复,外键码只能取另一张表的主键码之一。
4、针对该数据库的6张表,完成如下10个查询请求:
(1)查询用户编号为’yh23001011’的用户的用户名、累积消费金额和积分点;
(2)查询’张三’用户所购的全部商品的商品编码、商品名称、单价、数量和金额;
(3)查询2016年4月各类商品销售数量的排行榜,要求显示商品编号、商品名称和数量(按降序排列);
(4)根据销售详单中的销售流水号’xs80020001’和商品编码’sp03004561’,对存货表中的数量进行更新;
(5)根据进货表中的送货号码’sh00012288’和商品编码’sp03006677’, 对存货表中的数量进行更新;
(6)统计2016年4月中每一天的销售金额,要求显示日期、销售金额(按降序排列)。
5、针对该数据库的6张表,定义如下2个视图:
(1)定义一个商品存货的视图Commodity_Inventorylist,属性包括商品编码、商品名称、单价和数量;
(2)定义一个用户购买商品的详细清单User_Purchase_Details, 属性包括用户编号、用户名、商品编码、商品名称、单价和数量。
--创建数据库 --创建名为Supermarket的数据库,数据文件名取为:Supermarket_data.mdf,日志文件名取为:Supermarket_log.ldf。 USE master--使用系统 GO CREATE DATABASE Supermarket --创建数据库 ON PRIMARY --主文件 ( NAME='Supermarket_data', --文件名 FILENAME='D:\SQLProject\Supermarket_data.mdf',--路径 SIZE=5MB,--初始大小 MAXSIZE=100MB,--最大容量 FILEGROWTH=10%--增长速度 ) LOG ON--日志文件 ( NAME='Supermarket_log', FILENAME='D:\SQLProject\Supermarket_log.ldf', SIZE=5MB, FILEGROWTH=0 ) GO --创建你数据库表 --模式(其中 表示主键, 表示外键): --积分卡(用户编号,用户名,累积消费金额,积分点) --销售详单(销售流水号,商品编码,数量,金额,用户编号,收银员,时间) --销售日汇总(日期,商品编码,数量) --存货表(商品编码,数量) --进货表(送货号码,商品编码,数量,日期) --商品(商品编码,商品名称,单价) use Supermarket go --积分卡(用户编号,用户名,累积消费金额,积分点) create table Integralcard ( User_id char(10) primary key not null, User_name varchar(20) not null, Cumulative_consumption numeric(8,2) not null, Integral_point numeric(5,0) not null ) go --销售详单(销售流水号,商品编码,数量,金额,用户编号,收银员,时间) use Supermarket go create table Salesdetails ( sales_id char(10) not null, commodity_code char(10) not null foreign key(commodity_code) references Commodity(commodity_code) on delete cascade, number numeric(4,0) null, amount numeric(9,2) null, User_id char(10) not null foreign key(User_id) references Integralcard(User_id) on delete cascade, cashier varchar(20) null, sd_time datetime null ) go --外键 ALTER TABLE Salesdetails ADD CONSTRAINT Salesdetails_KEY PRIMARY KEY(sales_id,commodity_code,User_id) Go --销售日汇总(日期,商品编码,数量) use Supermarket go create table Salesdatesummary ( sds_date datetime not null, commodity_code char(10) not null foreign key(commodity_code) references Commodity(commodity_code) on delete cascade, number numeric(4,0) null ) go ALTER TABLE Salesdatesummary ADD CONSTRAINT Salesdatesummary_KEY PRIMARY KEY(commodity_code) Go --存货表(商品编码,数量) use Supermarket go create table Inventorylist ( commodity_code char(10) not null foreign key(commodity_code) references Commodity(commodity_code) on delete cascade, number numeric(4,0) null ) go ALTER TABLE Inventorylist ADD CONSTRAINT Inventorylist_KEY PRIMARY KEY(commodity_code) Go --进货表(送货号码,商品编码,数量,日期) use Supermarket go create table Purchasetable ( delivery_number char(10) not null, commodity_code char(10) not null foreign key(commodity_code) references Commodity(commodity_code) on delete cascade, number numeric(4,0) null, pt_date datetime not null ) go --外键 ALTER TABLE Purchasetable ADD CONSTRAINT Purchasetable_KEY PRIMARY KEY(delivery_number,commodity_code) Go --商品(商品编码,商品名称,单价) use Supermarket go create table Commodity ( commodity_code char(10) primary key not null, commodity_name varchar(10) not null, commodity_price numeric(7,2) not null ) go ----------------------------------------------- --查询用户编号为’yh23001011’的用户的用户名、累积消费金额和积分点 use Supermarket select User_name as 姓名,Cumulative_consumption as 累计消费金额,Integral_point as 积分点 from Integralcard where User_id='yh23001011' go --查询’张三’用户所购的全部商品的商品编码、商品名称、单价、数量和金额; use Supermarket select com.commodity_code,com.commodity_name,com.commodity_price,sal.number,sal.amount from Commodity com,Salesdetails sal,Integralcard ca where com.commodity_code=sal.commodity_code and sal.User_id=ca.User_id and ca.User_name='张三' go --查询2016年4月各类商品销售数量的排行榜,要求显示商品编号、商品名称和数量(按降序排列) use Supermarket select com.commodity_code,com.commodity_name,sal.number,sal.sd_time from Commodity com,Salesdetails sal where com.commodity_code=sal.commodity_code and sal.sd_time between '2016-04-01' and '2016-04-30' order by sal.number desc go --查看结果 use Supermarket select number from Inventorylist where Inventorylist.commodity_code='sp03004561' go --根据销售详单中的销售流水号’xs80020001’和商品编码’sp03004561’,对存货表中的数量进行更新 use Supermarket update Inventorylist set number= number - (select sal.number from Salesdetails sal where sal.sales_id='xs80020001' and sal.commodity_code='sp03004561') go --查看更新结果 use Supermarket select number from Inventorylist where Inventorylist.commodity_code='sp03004561' go --查看结果 use Supermarket select number from Inventorylist where Inventorylist.commodity_code='sp03006677' go --根据进货表中的送货号码’sh00012288’和商品编码’sp03006677’, 对存货表中的数量进行更新 use Supermarket update Inventorylist set Inventorylist.number=Inventorylist.number +(select pur.number from Purchasetable pur where pur.delivery_number='sh00012288' and pur.commodity_code='sp03006677') go --查看更新结果 use Supermarket select number from Inventorylist where commodity_code='sp03006677' go --统计2016年4月中每一天的销售金额,要求显示日期、销售金额(按降序排列) use Supermarket select sal.sds_date,salemoney=com.commodity_price*sal.number from Commodity com,Salesdatesummary sal where com.commodity_code=sal.commodity_code and sal.sds_date>='2016-04-01' and sal.sds_date <p><span style="font-size:18px"><br> </span></p> <p><span style="font-size:18px"><span style="color:#ff6600">数据库实现截图:</span></span></p> <br> <img src="/static/imghw/default1.png" data-src="http://img.blog.csdn.net/20160519185100347?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" class="lazy" alt=""><br> <p><span style="font-size:18px"><br> </span></p>

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

HQL et SQL sont comparés dans le framework Hibernate : HQL (1. Syntaxe orientée objet, 2. Requêtes indépendantes de la base de données, 3. Sécurité des types), tandis que SQL exploite directement la base de données (1. Normes indépendantes de la base de données, 2. Exécutable complexe requêtes et manipulation de données).

Les dernières versions d'Apple des systèmes iOS18, iPadOS18 et macOS Sequoia ont ajouté une fonctionnalité importante à l'application Photos, conçue pour aider les utilisateurs à récupérer facilement des photos et des vidéos perdues ou endommagées pour diverses raisons. La nouvelle fonctionnalité introduit un album appelé "Récupéré" dans la section Outils de l'application Photos qui apparaîtra automatiquement lorsqu'un utilisateur a des photos ou des vidéos sur son appareil qui ne font pas partie de sa photothèque. L'émergence de l'album « Récupéré » offre une solution aux photos et vidéos perdues en raison d'une corruption de la base de données, d'une application d'appareil photo qui n'enregistre pas correctement dans la photothèque ou d'une application tierce gérant la photothèque. Les utilisateurs n'ont besoin que de quelques étapes simples

Comment utiliser MySQLi pour établir une connexion à une base de données en PHP : Inclure l'extension MySQLi (require_once) Créer une fonction de connexion (functionconnect_to_db) Appeler la fonction de connexion ($conn=connect_to_db()) Exécuter une requête ($result=$conn->query()) Fermer connexion ( $conn->close())

Pour gérer les erreurs de connexion à la base de données en PHP, vous pouvez utiliser les étapes suivantes : Utilisez mysqli_connect_errno() pour obtenir le code d'erreur. Utilisez mysqli_connect_error() pour obtenir le message d'erreur. En capturant et en enregistrant ces messages d'erreur, les problèmes de connexion à la base de données peuvent être facilement identifiés et résolus, garantissant ainsi le bon fonctionnement de votre application.

Table des matières Principe de jalonnement d'Astar Dapp Revenus de jalonnement Démantèlement des projets potentiels de largage aérien : AlgemNeurolancheHealthreeAstar Degens DAOVeryLongSwap Stratégie et fonctionnement du jalonnement "AstarDapp Staking" a été mis à niveau vers la version V3 au début de cette année, et de nombreux ajustements ont été apportés aux revenus de jalonnement règles. À l'heure actuelle, le premier cycle de jalonnement est terminé et le sous-cycle de « vote » du deuxième cycle de jalonnement vient de commencer. Pour bénéficier des avantages « récompense supplémentaire », vous devez franchir cette étape critique (qui devrait durer jusqu'au 26 juin, soit moins de 5 jours). Je vais détailler les revenus du staking Astar,

Grâce au package base de données/sql de la bibliothèque standard Go, vous pouvez vous connecter à des bases de données distantes telles que MySQL, PostgreSQL ou SQLite : créez une chaîne de connexion contenant les informations de connexion à la base de données. Utilisez la fonction sql.Open() pour ouvrir une connexion à la base de données. Effectuez des opérations de base de données telles que des requêtes SQL et des opérations d'insertion. Utilisez defer pour fermer la connexion à la base de données afin de libérer des ressources.

L'utilisation de la fonction de rappel de base de données dans Golang peut permettre : d'exécuter du code personnalisé une fois l'opération de base de données spécifiée terminée. Ajoutez un comportement personnalisé via des fonctions distinctes sans écrire de code supplémentaire. Des fonctions de rappel sont disponibles pour les opérations d'insertion, de mise à jour, de suppression et de requête. Vous devez utiliser la fonction sql.Exec, sql.QueryRow ou sql.Query pour utiliser la fonction de rappel.

Utilisez la bibliothèque DataAccessObjects (DAO) en C++ pour connecter et exploiter la base de données, notamment en établissant des connexions à la base de données, en exécutant des requêtes SQL, en insérant de nouveaux enregistrements et en mettant à jour les enregistrements existants. Les étapes spécifiques sont : 1. Inclure les instructions de bibliothèque nécessaires ; 2. Ouvrir le fichier de base de données ; 3. Créer un objet Recordset pour exécuter des requêtes SQL ou manipuler des données ; 4. Parcourez les résultats ou mettez à jour les enregistrements en fonction de besoins spécifiques.
