数据库学习记录-数据创建、更新与删除

创建数据库SPJ,创建四个关系模式S,P,J,SPJ;


创建表


插入元素


--创建S(供应商)表

create table S(

????SNO VARCHAR(8),

????SNAME VARCHAR(8),

????STATUS INTEGER,

????CITY VARCHAR(8));


--插入元素

insert into S values

????(‘S1‘,‘精益‘,‘20‘,‘天津‘)

????(‘S2‘,‘盛锡‘,‘10‘,‘北京‘),

????(‘S3‘,‘东方红‘,‘30‘,‘北京‘),

????(‘S4‘,‘丰泰盛‘,‘20‘,‘天津‘),

????(‘S5‘,‘为民‘,‘30‘,‘上海‘);


--创建P(零件)表

create table P(

????PNO VARCHAR(8),

????PNAME VARCHAR(8),

????COLOR VARCHAR(8),

????WEIGHT INTEGER);


--插入元素

INSERT INTO P values

????(‘P1‘,‘螺母‘,‘红‘,12),

????(‘P2‘,‘螺栓‘,‘绿‘,17);

????(‘P3‘,‘螺丝刀‘,‘蓝‘,14),

????(‘P4‘,‘螺丝刀‘,‘红‘,14),

????(‘P5‘,‘凸轮‘,‘蓝‘,40),

????(‘P6‘,‘齿轮‘,‘红‘,14);


--创建J(工程项目)表

create table J(

????JNO VARCHAR(8),

???? JNAME VARCHAR(8),

????CITY VARCHAR(8));


--插入元素

INSERT INTO J values

????(‘J1‘,‘三建‘,‘北京‘),

????(‘J2‘,‘一汽‘,‘长春‘),

????(‘J3‘,‘弹簧厂‘,‘天津‘),

????(‘J4‘,‘造船厂‘,‘天津‘),

????(‘J5‘,‘机车厂‘,‘唐山‘),

????(‘J6‘,‘无线电厂‘,‘常州‘),

????(‘J7‘,‘半导体厂‘,‘南京‘);


--创建SPJ(供应情况)表

create table SPJ(

????SNO VARCHAR(8),

????PNO VARCHAR(8),

????JNO VARCHAR(8),

????QTY INTEGER);


--插入元素

INSERT INTO SPJ values

????(‘S1‘,‘P1‘,‘J1‘,200),(‘S1‘,‘P1‘,‘J3‘,100),

????(‘S1‘,‘P1‘,‘J4‘,700),(‘S1‘,‘P2‘,‘J2‘,100),

????(‘S2‘,‘P3‘,‘J1‘,400),(‘S2‘,‘P3‘,‘J2‘,200),

????(‘S2‘,‘P3‘,‘J4‘,500),(‘S2‘,‘P3‘,‘J5‘,400),

????(‘S2‘,‘P5‘,‘J1‘,400),(‘S2‘,‘P5‘,‘J2‘,100),

????(‘S3‘,‘P1‘,‘J1‘,200),(‘S3‘,‘P3‘,‘J1‘,200),

????(‘S4‘,‘P5‘,‘J1‘,100),(‘S4‘,‘P6‘,‘J3‘,300),

????(‘S4‘,‘P6‘,‘J4‘,200),(‘S5‘,‘P2‘,‘J4‘,100),

????(‘S5‘,‘P3‘,‘J1‘,200),(‘S5‘,‘P6‘,‘J2‘,200),

????(‘S5‘,‘P6‘,‘J4‘,500);

?

显示表内容:




查询

  1. 找出所有零件的名称、颜色、重量;

    select PNAME,COLOR,WEIGHT FROM P;

  2. 找出工程项目J2使用的各种零件的名称及其数量;

    select P.PNAME,SPJ.QTY

    FROM SPJ INNER JOIN P

    ON SPJ.PNO=P.PNO

    ????????AND JNO=‘J2‘;

  3. 找出使用上海产的零件的工程名称;

    select distinct J.JNAME FROM J,S,SPJ

    WHERE J.JNO=SPJ.JNO AND SPJ.SNO=S.SNO AND S.CITY=‘上海‘;

  4. 把全部红色零件的颜色改为蓝色;

    UPDATE P SET COLOR=‘蓝‘

    WHERE COLOR=‘红‘;

  5. 从供应关系中删除S2的记录,并从供应情况(SPJ)中删除相应记录;

    DELETE SPJ,S FROM SPJ,S

    WHERE SPJ.SNO=S.SNO AND S.SNO=‘S2‘;

原文地址:https://www.cnblogs.com/zhq-home/p/12678378.html

时间: 2024-10-08 10:12:19

数据库学习记录-数据创建、更新与删除的相关文章

数据库学习之初始-创建表及几个命令

所用软件:mysql server 一,创建一个表 用creat create table candidats(candidats_id int(10)   not null   auto_increment,candidats_name char(10) not null,candidats_addr char(50) null,candidats_age char(10) null,candidats_school char(50) null,candidats_company char(5

数据库中表的插入、更新、删除

数据库的表中最常见的操作就是插入.更新啊和删除.下面我们一一介绍一下: 1. 插入 insert 使用的模板语句时insert into 表明 values. 例如: insert有如下几点需要注意: 1)insert into-select可以把查找的结果插入到另一个表中: 2)插入的数据必须和表中的字段类型相同,或者可以被隐式转换: 2. 更新 update 更新就是把已经存在的数据修改更新一下. 例子: 更新有如下几点需要注意: 1)如果没有where做限制,那么默认更新所有数据: 2)修

Qt 数据库学习记录

sql_interface.h #ifndef SQL_INTERFACE_H #define SQL_INTERFACE_H class ModCat{ public: int mod_cat_id; QString name; }; class SqlClass : public QObject{ Q_OBJECT private: QSqlDatabase* db; public: SqlClass(QObject* parent = NULL); virtual ~SqlClass();

数据库事务测试以及级联更新级联删除

数据库事务 start transaction; #开始事务 insert into gzb(gz)values(5000); insert into gzb(gz)values(6000); insert into gzb(gz)values(7000); insert into gzb(gz)values(8000); /*执行事务,并查看是否添加成功数据*/ commit; # commit数据,查看表中数据是否提交 rollback; #数据库回滚 级联更新,级联删除 主要通过两种方式

MYSQL数据库学习九 数据的操作

9.1 插入数据记录 1. 插入完整或部分数据记录: INSERT INTO table_name(field1,field2,field3,...fieldn) VALUES(value1,value2,value3,...valuen); 插入完整数据记录时可以省略字段参数(field1,field2,field3,...fieldn). 注意:在具体开发中,除了“自动增长”约束的字段不需要插入数值外,具有“默认值”约束的字段也不需要插入数值. 2. 插入多条完整或部分数据记录: INSER

Oracle学习记录 二 创建表等操作练习

进行了第一章的基本数据操作指令练习后,进行数据库的一些操作. 创建表class有两个栏:numbers和names: create table class (numbers number, names char(20)); 这样建名都是大写的了,不想这样就加上""双引号  numbers这是栏名,number这是数据类型 2. 在建表的时候,限制哪些数据可以存入哪些不可以 create table class2 (numbers number not null, names char(

webserive学习记录3-eclipse创建webservice

在用J2EE版的ECLIPSE学习WEBSERVICE的时候发现原来直接用该ECLIPSE就可以创建webservice,然后就自己动手用ECLIPSE自带的功能来建立WEBSERVICE服务端和客户端.网上相关内容很多,下面就说说我是怎么做的. 服务端 先编写好服务接口及实现类,如图: 然后在新建一个webservice服务 1中为我们编写的实现类,2中配置服务器,所用的webservice框架,所在的工程,3的解释如下 这里可以启动服务器. 这里可以发请求对接口进行调用. 生成的代码如下:

数据库学习记录

1.数据库中的exec命令,可以用来执行存储过程,可以把存储过程理解为定义在sql server数据库中的函数,而exec就是去执行该定义的函数,既然是函数,那么定义时就有一下几种类型 1)无参数无返回值的 2)有参数无返回值的 3)无参数有返回值的 3)有参数有返回值的 下面举几个简单的例子,供简单理解 (1  无参数 create procedure sp_latvia_sys_role    --创建一个存储过程,其中sp_latvia_sys_role是创建的存储过程名称 as  --作

SQL中游标的使用--遍历数据逐行更新或删除:相当于for循环

--------------------------------------例子1 单纯的游标-------------------------------- create TABLE Table1 ( a varchar(10), b varchar(10), c varchar(10), CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED ( a ASC ) ) ON [PRIMARY] create TABLE Table2 ( a varchar(1