mysql中pi是什么意思_MySQL 基础知识与常用命令

MySQL

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。

MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用在Internet上的中小型网站中。

SQL(Structured Query Language)

事务的四个特性ACID

ACID,是指数据库管理系统(DBMS)在写入/更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具有的四个特性:原子性(atomicity,或称不可分割性)、一致性(consistency)、隔离性(isolation,又称独立性)、持久性(durability)。

范式

常用(第一范式-->BC范式)

59f97d9c12315d467d7c86e20753a490.png

对指定列的结果集进行排序。

SELECTcolumn_name, aggregate_function(column_name)FROMtable_nameWHEREcolumn_name operator valueGROUP BY column_name

聚合函数(Aggregate Functions)

Average: avg

Minimum: min

Maximum: max

Total: sum

Count: count

聚合函数会忽略空值。

DDL和DML

嵌套子查询(Nested Subqueries)

in, all, exists, some, any (可以相互转换)。

数据库连接池是什么意思?

像打开关闭数据库连接这种和数据库的交互可能是很费时的,尤其是当客户端数量增加的时候,会消耗大量的资源,成本是非常高的。可以在应用服务器启动的时候建立很多个数据库连接并维护在一个池中。连接请求由池中的连接提供。在连接使用完毕以后,把连接归还到池中,以用于满足将来更多的请求。

MySQL

mysql 使用的数据类型分为三类: 数值类型,日期和时间类型,字符类型。

Software

installation (on raspbian as an example)

sudo apt-get install mysql-server

login with password prompt

mysql -u root -p

show database; # list databases

use db-name; # use a database

show tables; # list table for current database being used

Basic CRUD

CREATE DATABASE demo; # create a database named demo;

# 创建一个表tutorials_tbl

CREATE TABLE demo.tutorials_tbl(

tutorial_id INT NOT NULL AUTO_INCREMENT,

tutorial_title VARCHAR(100) NOT NULL,

tutorial_author VARCHAR(40) NOT NULL,

submission_date DATE,

PRIMARY KEY ( tutorial_id )

);

# 查询

SELECT tutorial_id, tutorial_title, tutorial_author FROM tutorials_tbl;

# 更新

UPDATE tutorials_tbl SET tutorial_title="Learning JAVA" WHERE tutorial_id=3;

# 删除

DELETE FROM tutorials_tbl WHERE tutorial_id=3;

# 删除表

DELETE FROM tutorials_tbl;

DROP TABLE tutorials_tbl; # drop表

DROP DATABASE demo; # drop数据库demo

例子

在 db_SPJ 中创建以下四个关系(表)

供应商表 S(SNO,SNAME,STATUS,CITY)

零件表P(PNO,PNAME,COLOR,WEIGHT)

工程项目表 J(JNO,JNAME,CITY)

供应情况表 SPJ(SNO,PNO,JNO,QTY)

 每一张表都必须有主键。

 需要使用外键的表必须使用外键。

 根据需要适当采用唯一值、检查、非空和默认值约束。要求这四种约束在 S、P 和 J 表这三张表中至少使用一次。

 根据主键、外键、唯一值、检查、非空和默认值六种约束的特性,设计适 当的方案对 S、P 和 J 表中的这六种约束进行检验。方案自定。一种约束进行检验一次即可

使用 `SHOW CREATE DATABASE db_SPJ;`来查看更多信息(类似地,可以用它来查看创建表的信息)

DDL:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 USEdb_SPJ;2

3 CREATE TABLE S(SNO char(10) ,SNAME char(10) not null,STATUS int check(STATUS >0),CITY char(30) not null, primary key(SNO)) ;4 CREATE TABLE P(PNO char(10) UNIQUE,PNAME char(20) not null,COLOR char(10) default '白',WEIGHT int CHECK(WEIGHT >0), primary key(PNO));5 CREATE TABLE J(JNO char(10) UNIQUE,JNAME char(20) not null,CITY char(30) not null, primary key(JNO));6 CREATE TABLE SPJ(SNO char(10),PNO char(10),JNO char(10),QTY int, primary key(SNO,PNO,JNO));7 ALTER TABLE SPJ ADD CONSTRAINT FK_SNO foreign key(SNO) references S(SNO) ON DELETE CASCADE;8 ALTER TABLE SPJ ADD CONSTRAINT FK_PNO foreign key(PNO) references P(PNO) ON DELETE CASCADE;9 ALTER TABLE SPJ ADD CONSTRAINT FK_JNO foreign key(JNO) references J(JNO) ON DELETE CASCADE;

View Code

插入记录:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 INSERT INTO S VALUES

2 ('S1','精益',20,'天津'),3 ('S2','盛锡',10,'北京'),4 ('S3','东方红',30,'北京'),5 ('S4','丰泰',20,'天津'),6 ('S5','为民',30,'上海');7

8 INSERT INTO P VALUES

9 ('P1','螺母','红',12),10 ('P2','螺栓','绿',17),11 ('P3','螺丝刀','蓝',14),12 ('P4','螺丝刀','红',14),13 ('P5','凸轮','蓝',40),14 ('P6','齿轮','红',30);15

16 INSERT INTO J VALUES

17 ('J1','三建','北京'),18 ('J2','一汽','长春'),19 ('J3','弹簧厂','天津'),20 ('J4','造船厂','天津'),21 ('J5','机车厂','唐山'),22 ('J6','无线电厂','常州'),23 ('J7','半导体厂','南京');24

25 INSERT INTO SPJ VALUES

26 ('S1','P1','J1',200),27 ('S1','P1','J3',100),28 ('S1','P1','J4',700),29 ('S1','P2','J2',100),30 ('S2','P3','J1',400),31 ('S2','P3','J2',200),32 ('S2','P3','J4',500),33 ('S2','P3','J5',400),34 ('S2','P5','J1',400),35 ('S2','P5','J2',100),36 ('S3','P1','J1',200),37 ('S3','P3','J1',100),38 ('S4','P5','J1',100),39 ('S4','P6','J1',100),40 ('S4','P6','J4',100),41 ('S5','P2','J4',100),42 ('S5','P3','J1',200),43 ('S5','P6','J2',200),44 ('S5','P6','J4',500);

View Code

实现以下查询(Transact-SQL):

[1] 找出所有供应商的姓名和所在城市。

[2] 找出所有零件的名称、颜色和重量。

[3] 找出使用了供应商 S1 所供应的零件的工程号码。

[4] 找出工程 J2 使用的各种零件的名称和数量。

[5] 找出上海供应商供应的所有零件的零件号码。

[6] 找出使用了上海供应商供应的零件的工程名称。

[7] 找出供应工程 J1 零件的供应商号 SNO。

[8] 找出供应工程 J1 零件 P1 的供应商号 SNO。

[9] 找出供应工程 J1 红色零件的供应商号 SNO。

[10] 找出没有使用天津供应商生产的红色零件的工程号 JNO。

[11] 求所有有关 project 的信息。

[12] 求在北京的所有 project 的信息。

[13] 求为 project(工程)J1 提供 part(零件)的 supplier(供应商)的号 码。

[14] 求数量在 300 到 750 之间的发货。

[15] 求所有的零件颜色 / 城市对。注意:这里及以后所说的“所有”特指 在数据库中。 [16] 求所有的 supplier-number / part-number / project-number 对。其中所 指的供应商和工程在同一个城市。

[17] 求所有的 supplier-number / part-number / project-number 对。其中所 指的供应商和工程不在同一个城市。

[18] 求由北京供应商提供的零件的信息。

[19] 求由北京供应商为北京工程供应的零件号。

[20] 求满足下面要求的城市对,要求在第一个城市的供应商为第二个城 市的工程供应零件。

[21] 求供应商为工程供应的零件的号码,要求供应商和工程在同一城市。

[22] 求至少被一个不在同一城市的供应商供应零件的工程号。

[23] 求由同一个供应商供应的零件号的对。

[24] 求所有由供应商 S1 供应的工程号。

[25] 求供应商 S1 供应的零件 P1 的总量。

[26] 对每个供应给工程的零件,求零件号、工程号和相应的总量。

[27] 求为单个工程供应的零件数量超过 350 的零件号。

[28] 求由 S1 供应的工程名称。

[29] 求由 S1 供应的零件颜色。

[30] 求供应给北京工程的零件号。

[31] 求使用了 S1 供应的零件的工程号。

[32] 求 status 比 S1 低的供应商号码。

[33] 求所在城市按字母排序为第一的工程号。

[34] 求被供应零件P1 的平均数量大于供应给工程J1 的任意零件的最大 数量的工程号。 [35] 求满足下面要求的供应商号码,该供应商供应给某个工程零件 P1 的 数量大于这个工程被供应的零件 P1 的平均数量。

[36] 求没有被北京供应商供应过红色零件的工程号码。

[37] 求所用零件全被 S1 供应的工程号码。

[38] 求所有北京工程都使用的零件号码。

[39] 求对所有工程都提供了同一零件的供应商号码。

[40] 求使用了 S1 提供的所有零件的工程号码。

[41] 求至少有一个供应商、零件或工程所在的城市。

[42] 求被北京供应商供应或被北京工程使用的零件号码。

[43] 求所有 supplier-number / part-number 对,其中指定的供应商不供应 指定的零件。

[44] 向 p 表追加如下记录(P0,PN0,蓝)。

[45] 把零件重量在 15 到 20 之间的零件信息追加到新的表 p1 中。

[46] 向 s 表追加记录(s1, n2, ’上海’)能成功吗?为什么?

[47] 把 s、p、j 三个表中的 s#,p#,j#列进行交叉联接,把结果追加到 spj1 表中(如果只考虑下面表格中的原始数据,应该在 spj1 表中追加多 少条记录?你是如何计算记录条数的?)。

[48] 向 spj 表追加(s6,p1,j6,1000)本操作能正确执行吗?为什么?如果 追加(s4,p1,j6,-10) 行吗?如果现在想强制追加这两条记录该怎么

办?

[49] 把 s1 供应商供应的零件为 p1 的所有项目对应的数量 qty改为 500。

[50] 把 qty值大于等于 1000 的所有供应商城市更改为‘北京’ 。

[51] 把 j1 更改成 j7,本操作能正确执行吗?为什么?如果改成 j0 呢?spj 表中记录有何变化?为什么?

[52] 把零件重量低于 15 的增加 3,高于 15 的增加 2。

[53] 删除为 j7 工程供应零件的所有供应商信息(如果建立外键时没有带 级联删除选项,本操作能正确执行吗?为什么?)

[54] 删除 p1 表中所有记录。

[55] 删除供应商和工程在同一个城市的供应商信息。

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

# DML on spj database

USEdb_spj;

#[1]

SELECT sname,city FROMs;

#[2]

SELECT pname,color,weight FROMp;

#[3]

SELECT jno FROMspjWHERE sno = 'S1';

#[4]

SELECT p.pname, spj.qty FROMspjLEFT JOIN p ON (spj.pno =p.pno)WHERE spj.jno = 'J2';

#[5]

SELECT DISTINCT spj.pno FROMspjWHERE spj.sno IN (SELECT sno FROM s WHERE s.city='上海');

#[6]nested querySELECT DISTINCT j.jname FROMjRIGHT JOIN spj ON(j.jnoin (SELECT jno FROM spj WHERE spj.sno IN (SELECT sno FROM s WHERE s.city='上海')));

#[7]

SELECT DISTINCT sno FROMspjWHERE spj.jno='J1';

#[8]

SELECT sno FROMspjWHERE jno='J1' AND pno='P1';

#[9]

SELECT DISTINCT sno FROMpINNER JOIN spj ON p.pno=spj.pnoWHERE p.color='红';

#[10]

SELECT DISTINCT spj.jno FROMspjWHERE spj.sno NOT IN (SELECT sno FROM s WHERE s.city='天津')OR spj.pno NOT IN (SELECT pno FROM p WHERE p.color='红');

#[11]

SELECT SPJ.JNO,JNAME,CITY,SNO,PNO,QTY FROMJinner join SPJ on J.JNO=SPJ.JNOORDER BYSPJ.JNO;

#[12]

SELECT SPJ.JNO,JNAME,CITY,SNO,PNO,QTY FROMJinner join SPJ on J.JNO=SPJ.JNO WHERE CITY='北京'

ORDER BYSPJ.JNO;

#[13]

SELECT sno FROMspjWHERE spj.jno = 'j1';

#[14]

SELECT SNO,PNO,JNO FROM SPJ WHERE QTY BETWEEN 300 AND 750;

#[15]

SELECT DISTINCTp.color, s.cityFROM (p INNER JOIN spj ON p.pno=spj.pno)INNER JOIN s ON s.sno =spj.snoORDER BY color ASC;

#[16]

select distinct spj.sno,spj.jno,spj.pno froms,spjright join j on spj.jno=j.jnowhere s.sno=spj.sno and s.city=j.city;

#[17]

select distinct spj.sno,spj.jno,spj.pno froms,spjright join j on spj.jno=j.jnowhere s.sno=spj.sno and s.city!=j.city;

#[18]

select * frompwhere p.pno in(select spj.pno from spj where spj.sno in(select s.sno from s where s.city='北京')

);

#[19]

select distinct spj.pno froms,spjright join j on spj.jno=j.jnowhere s.sno=spj.sno and s.city='北京' and s.city=j.city;

#[20]

select distinct s.city, j.city froms,spjright join j on spj.jno=j.jnowhere s.sno=spj.sno;

#[55]

DELETE FROM S WHERES.SNOIN (SELECT SPJ.SNO FROM (SPJ INNER JOIN S ON SPJ.SNO=S.SNO) INNER JOIN J ON SPJ.JNO=J.JNOWHERE S.CITY=J.CITY) ;

View Code

Reference

http://blog.webfsd.com/article-7.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/560553.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科幻计算机类小说,短篇科幻小说推荐 | 黄金时代的五部科幻杰作

编注:本文是少数派读书月「我读过的好书」征文活动的入围文章。本文仅代表作者本人观点,少数派对标题和排版略作调整。想了解如何参与本次读书征文,赢取各种丰厚奖品,你可以 点此查看 活动规则和奖品清单。文章包含五个故事的情节…

计算机中丢失msc,mscvr120.dll32位/64位版_修复计算机中丢失msvcr120.dll

mscvr120.dll32位/64位版_修复计算机中丢失msvcr120.dllmscvr120.dll是系统的非常重要的一个文件,相信很多的人都是遇到文件丢失的情况,这个时候就需要你在下载一个dll文件使用了!现在就为大家提供最新的dll文件下载,需要的可以看…

mysql解压缩版配置_MySQL 5.6 for Windows 解压缩版配置安装

1、MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的。如果是msi格式的可以直接点击安装,按照它给出的安装提示进行安装(相信大家的英文可以看懂英文提示),一般MySQL将会安装在C:\Program Files\MySQL\MySQL Server 5.6 该…

计算机二级考试开考多久能出来,【计算机二级】明天就要开考了,你们准备好了吗?...

原标题:【计算机二级】明天就要开考了,你们准备好了吗?计算机二级考试马上要来了现在距离考试只有不到几个小时的时间了不知道各位同学准备的怎么样了呢?人有多大胆,复习拖多晚但这可不是什么好习惯奔赴“战场”之前先…

办公室中有一台计算机连接打印机,办公室就一个打印机,怎么让多个电脑一起用...

中小型企业的办公室一般只配一台打印机,每次打印东西都要把文件拷在U盘再转到连接打印机的那台电脑,很麻烦。那么怎么才能实现打印机多台电脑共享呢?以下把连接打印机的电脑成为“主电脑”,把需要的共享的电脑叫“客电脑”。1.设置…

php修改mysql数据找不到_php 如何修改mysql数据

PHP MYSQL 修改删除数据创建userinfo_update.php,用于查询用户信息,先显示信息,在修改:先通过GET获取用户编号查询用户信息:$sql "select * from user_info where user_id".$_GET[userId]."";$re…

人工智能训练机器人的服务器,人工智能系统教会机器人如何在荒野中行走

对救援人员和户外运动爱好者来说,穿越荒野小径是一项有用的技能,但对机器人来说却很难。这并不是说这些机械动物没有能力在爬上山坡的同时避开倒下的树枝——最先进的机器学习算法可以做到这一点。问题在于它们缺乏通用性:人工智能驱动的机器…

世界手机号码格式_脑炎康复之旅——世界脑炎日病友征文

○○脑炎康复之旅世界脑炎日病友征文2月22日是世界脑炎日(World Encephalitis Day)。2014年发起的世界脑炎日旨在致敬和鼓励全世界经历过脑炎的患者和脑炎医疗工作者。几年来,全球已有1.87亿人次参与世界脑炎日活动。2021年的世界脑炎日即将到来,今年世界…

树莓派和微信和服务器,用树莓派搭建微信公共平台

1、首先你需要一个公网ip, 需要做好映射, 把80端口映射到你的树莓派ip。2、打开你的树莓派终端, 创建文件夹“templates ” 和文件“weixind.py”。3、文件“weixind.py”中写入以下代码。安装“sudo apt-get install python-lxml”。5、申请…

mysql数据异常增长_mysql表到一定数据量后会异常的增长

如题InnoDB的table,里面的字段非常简单,如图中的类型才100多W的数据量,数据是慢慢积累起来的,到了最近发现涨到12G后,会每天成倍的增长,最高到达过50G,而数据量还是那些,longtext的字…

舰r4月28服务器维护,崩坏3 11月28日版本更新维护通知

亲爱的舰长:为了给舰长更好的游戏体验,休伯利安号将在11月28日进行版本更新维护,维护完成后战舰将更新为3.6版本——「绯夜霞隐」。维护时间安卓国服、iOS服和各渠道服:11月28日07:00~12:00全平台服(桌面服):11月28日0…

vv7无法启动显示发动机故障_点火系统故障引起发动机不能启动的排除方法

点火系统故障引起发动机不能启动的排除方法a 外观检查首先察看点火线圈和b 中央高压线试火拔出分电器上的中央高压线,插入一个放电器(或备用火花塞)并将放电器(火花塞)搭铁,然后接通点火开关,在转动发动机时看放电器(火花塞)(汽車维修网 Http…

织梦重置mysql数据库密码忘记_织梦cms管理员密码忘记了怎么重置找回?

织梦cms是使用比较广泛的一种开源cms程序,使用织梦的朋友基本上都遇到过忘记后台登录密码这个问题,重置登录密码的方法也有很多,今天木子网络教大家的方法是通过mysql数据库来重置修改密码。下面就为大家分享详细的织梦cms管理员密码重置教程…

Lingo计算最优解

建模最后就是知道结果套过程。。 文章目录线性规划二次规划集合段线性规划 model: title 求解线性规划; max2*x13*x2; 2*x1x2<8; 4*x13*x2<15; end结果&#xff1a; Global optimal solution found.Objective value: 15.00000Infeasibilit…

c 通过jni调用java_使用c通过jni调用java

编译环境:fedora16gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2)java version "1.6.0_31"Java(TM) SE Runtime Environment (build 1.6.0_31-b04)Java HotSpot(TM) Server VM (build 20.6-b01, mixed mode)准备工作:首先需要安装jdk和gcc(或者其他c编译器也可以)并配置…

C语言文件与数组之间输入输出操作

C语言文件与数组之间输入输出操作 文件存到数组里面&#xff1a; #include<iostream> #include<fstream> #include<string> #include<cstdio> #include<cstdlib> using namespace std; int main() { fstream fs("test.txt");istream…

java调用scilab_Java调用Scilab-编译运行Javasci v2

1 Scilab简要介绍Scilab 是由法国国家信息、自动化研究院(INRIA)的科学家们开发的“开放源码”软件。Scilab是开源的软件&#xff0c;用户不仅可以在Scilab的许可证条件下自由使用该软件&#xff0c;还可以根据自己需要修改源代码&#xff0c;使之更加符合自身需要。与Matlab类…

java8 foreach 异常_错误处理 – 在java 8流foreach中抛出异常

我正在使用java 8流,我不能在流的foreach中抛出异常.stream.forEach(m -> {try {if (isInitial) {isInitial false;String outputName new SimpleDateFormat(Constants.HMDBConstants.HMDB_SDF_FILE_NAME).format(new Date());if (location.endsWith(Constants.LOCATION_S…

java integer reverse_Leetcode7 Reverse Integer Java实现及分析

首先public int reverse(intx) {int ans 0;while(x!0) {int temp x%10;x/10;ans ans*10temp;}returnans;}但是这样无法检验最终结果是否溢出。我们可以看到&#xff0c;溢出的原因是ans*10temp>MAX或ans*10temp对于正数&#xff0c;举个小点的例子&#xff0c;一个6bit的…

java swing linux_Linux下关于解决JavaSwing中文乱码的情况

前两天在linux中运行java 老是出乱码&#xff0c;很苦恼&#xff0c;后来网上找了好多解决办法。有些可行&#xff0c;有些不可行&#xff0c;今天总结一下。redhed 貌似没出现乱码 本身就jdk就支持中文红旗linux suse等都不支持&#xff0c;需要自己手工配置&#xff0c;解决…