mysql数据库完整案例-“水果销售”

mysql数据库查询案例

创建水果销售数据库,并完成数据库编写:

这个案例涵盖了几乎所有mysql涉及到的查询方式,每种方式介绍详尽,这里不多赘述了,如果觉得写的还可以,麻烦点赞关注一下哦,您的关注是我最大的动力!

软件版本: Mysql 8.0       

目录

1.创建数据库:水果

2.创建数据库fruit的数据库表:

(1)数据库表fruits:

(2)数据库表customers:

(3)数据库表orderitems:

(4)数据库表suppliers:

(5)创建表orders:

3.基本操作

(1)从fruits表中检索所有字段的数据:

(2)查询fruits表中f_name列所有水果名称:

(3)从fruits表中获取f_name和f_price两列:

(4)在fruits表中,查询价格为10.2元的水果的名称:

(5)在fruits表中,查找名称为“apple”的水果的价格:

(6)在fruits表中,查询价格小于10的水果的名称:

(7)在fruits表中,查询s_id为101和102的记录:

(8)在fruits表中,查询所有s_id不等于101也不等于102的记录:

(9)在fruits表中,查询价格在2.00元到10.20元之间的水果名称和价格:

(10)在fruits表中,查询价格在2.00元到10.20元之外的水果名称和价格:

(11)在fruits表中,查找所有以’b’字母开头的水果:

(12)在fruits表中,查询f_name中包含字母’g’的记录:

(13)在fruits表中,查询以’b’开头,并以’y’结尾的水果的名称:

(14)在fruits表中,查询以字母’y’结尾,且’y’前面只有4个字母的记录:

(15)查询customers表中c_email为空的记录的c_id、c_name和c_email字段值:

(16)查询customers表中c_email不为空的记录的c_id、c_name和c_email字段值:

(17)在fruits表中查询s_id = 101,并且f_price大于等于5的水果价格和名称:

(18)在fruits表中查询s_id = 101或者102,且f_price大于5,并且f_name=‘apple’的水果价格和名称:

(19)查询s_id=101或者s_id=102的水果供应商的f_price和f_name:

(20)查询fruits表中s_id字段的值,返回s_id字段值且不得重复:

(21)查询fruits表的f_name字段值,并对其进行排序:

(22)查询fruits表中f_name和f_price字段,先按f_name排序,再按f_price排序:

(23)查询fruits表中的f_name和f_price字段,对结果按f_price降序方式排序:

(24)查询fruits表,先按f_price降序排序,再按f_name字段升序排序:

(25)根据s_id对fruits表中的数据进行分组:

(26)根据s_id对fruits表中的数据进行分组,将每个供应商的水果名称显示出来:

(27)根据s_id对fruits表中的数据进行分组,并显示水果种类大于1的分组信息:

(28)根据s_id对fruits表中的数据进行分组,并显示记录数量:

(29)在表orderitems中,查询订单价格大于100的订单号和总订单价格:

可以看到,返回的结果中orderTotal列的总订单价格并没有按照一定顺序显示,接下来,使用ORDER BY关键字按总订单价格排序显示结果,SQL语句如下:

(30)显示fruits表查询结果的前4行:

(31)在fruits表中使用LIMIT子句,返回从第5个记录开始的连续3条记录:

(32)查询customers表中总的行数:

(33)查询customers表中有电子邮箱的顾客的总数:

(34)在orderitems表中,使用COUNT( )函数统计不同订单号中订购的水果种类:

(35)在orderitems表中查询30005号订单一共购买的水果总量:

(36)在orderitems表中,使用SUM()函数统计不同订单号中订购的水果总量:

(37)在fruits表中,查询s_id=103的供应商的水果价格的平均值:

(38)在fruits表中,查询每一个供应商的水果价格的平均值:

(39)在fruits表中查找市场上价格最高的水果:

(40)在fruits表中查找不同供应商提供的价格最高的水果:

(41)在fruits表中查找不同供应商提供的价格最低的水果:

(42)由结果可以看到,fruits表和suppliers表中都有相同数据类型的字段s_id,两个表通过s_id字段建立联系。接下来从fruits表中查询f_name、f_price字段,从suppliers表中查询s_id、s_name,SQL语句如下:

(43)在fruits表和suppliers表之间,使用INNER JOIN语法进行内连接查询:

(44)查询供应f_id= ‘a1’的水果供应商提供的其他水果种类:

(45) LEFT JOIN左连接:左连接的结果包括LEFT OUTER子句中指定的左表的所有行,而不仅仅是连接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果行中,右表的所有选择列表列均为空值。

在customers表和orders表中,查询所有客户,包括没有订单的客户:

(46)RIGHT JOIN右连接:右连接是左连接的反向连接,将返回右表的所有行。如果右表的某行在左表中没有匹配行,左表将返回空值。

在customers表和orders表中,查询所有订单,包括没有客户的订单:

(47)在customers表和orders表中,使用INNER JOIN语法查询customers表中ID为10001的客户的订单信息:

(48)在fruits表和suppliers表之间,使用INNER JOIN语法进行内连接查询,并对查询结果排序: 

(49)查询suppliers表中是否存在s_id=107的供应商,如果存在,则查询fruits表中的记录:

(50)查询suppliers表中是否存在s_id=107的供应商,如果存在,则查询fruits表中的f_price大于10.20的记录:

(51)查询suppliers表中是否存在s_id=107的供应商,如果不存在则查询fruits表中的记录:

(52)在orderitems表中查询f_id为c0的订单号,并根据订单号查询具有订单号的客户c_id:

(53)在suppliers表中查询s_city等于“Tianjin”的供应商s_id,然后在fruits表中查询所有该供应商提供的水果的种类:

(54)在suppliers表中查询s_city等于“Tianjin”的供应商s_id,然后在fruits表中查询所有非该供应商提供的水果的种类:

(55)查询所有价格小于9的水果的信息,查询s_id等于101和103所有的水果的信息,使用UNION连接查询结果:

(56)如前所述,UNION将多个SELECT语句的结果组合成一个结果集合。可以分开查看每个SELECT语句的结果:

(57)查询所有价格小于9的水果的信息,查询s_id等于101和103的所有水果的信息,使用UNION ALL连接查询结果:

(58)为orders表取别名o,查询30001订单的下单日期:

(59) 为customers和orders表分别取别名,并进行连接查询:

(60)查询fruits表,为f_name取别名fruit_name,f_price取别名fruit_price,为fruits表取别名f1,查询表中f_price < 8的水果的名称:

(61)查询suppliers表中字段s_name和s_city,使用CONCAT函数连接这两个字段值,并取列别名为suppliers_title。

如果没有对连接后的值取别名,其显示列名称将会不够直观:

(62)在fruits表中,查询f_name字段以字母’b’开头的记录:

(63)在fruits表中,查询f_name字段以“be”开头的记录:

(64)在fruits表中,查询f_name字段以字母’y’结尾的记录:

(65)在fruits表中,查询f_name字段以字符串“rry”结尾的记录:

(66)在fruits表中,查询f_name字段值包含字母’a’与’g’且两个字母之间只有一个字母的记录:

(67)在fruits表中,查询f_name字段值以字母’b’开头,且’b’后面出现字母’a’的记录,SQL语句如下:

(68)在fruits表中,查询f_name字段值以字母’b’开头,且’b’后面出现字母’a’至少一次的记录,SQL语句如下:

(69)在fruits表中,查询f_name字段值包含字符串“on”的记录,SQL语句如下:

(70)在fruits表中,查询f_name字段值包含字符串“on”或者“ap”的记录:

(71)在fruits表中,使用LIKE运算符查询f_name字段值为“on”的记录:

(72)在fruits表中,查找f_name字段中包含字母’o’或者’t’的记录:

(73)在fruits表,查询s_id字段中数值中包含4、5或者6的记录:

(74)在fruits表中,查询f_id字段包含字母a~e和数字1~2以外的字符的记录:

(75)在fruits表中,查询f_name字段值出现字母’x’至少2次的记录:


1.创建数据库:水果

CREATE DATABASE 水果;

#可以直接输汉字,但数据库文件中显示是代码

2.创建数据库fruit的数据库表:

(1)数据库表fruits:

创建表结构:

CREATE TABLE fruits
(
f_id    char(10)      NOT NULL,
s_id    INT           NOT NULL,
f_name  char(255)   NOT NULL,
f_price decimal(8,2)   NOT NULL,
PRIMARY KEY(f_id)
);

输入表记录:

INSERT INTO fruits (f_id, s_id, f_name, f_price)
      VALUES ('a1', 101,'苹果',5.2),
     ('b1',101,'黑莓', 10.2),
     ('bs1',102,'桔子', 11.2),
     ('bs2',105,'西瓜',3),
     ('t1',102,'香蕉', 5.3),
     ('t2',102,'葡萄', 10.5),
     ('o2',103,'椰子', 9.2),
     ('c0',101,'樱桃', 18),
     ('a2',103, '杏子',2.2),
     ('l2',104,'柠檬', 6.4),
     ('b2',104,'草莓', 12),
     ('m1',106,'芒果', 15.6);

(2)数据库表customers

创建表结构:

CREATE TABLE customers
(
  c_id      int       NOT NULL AUTO_INCREMENT,
  c_name    char(50)  NOT NULL,
  c_address char(50)  NULL,
  c_city    char(50)  NULL,
  c_zip     char(10)  NULL,
  c_contact char(50)  NULL,
  c_email   char(255) NULL,
  PRIMARY KEY (c_id)
);

输入表记录:

INSERT INTO customers(c_id, c_name, c_address, c_city, c_zip,  c_contact, c_email)
VALUES
 (10001, '红房子水果店', '长安路200号 ', '天津', '300000',  '黎明', 'LMing@163.com'),
(10002, '星星水果店', '淮海路112号', '大连', '116000',  '张博','Jerry@hotmail.com'),
(10003, '绿叶水果店', '五一路01号', '青岛',  '266000', '罗聪', NULL),
(10004, '四季水果店', '河滨路829号', '海口',  '570000',  '杨姗','sam@hotmail.com');

(3)数据库表orderitems

创建表结构:

CREATE TABLE orderitems
(
  o_num      int          NOT NULL,
  o_item     int           NOT NULL,
  f_id       char(10)       NOT NULL,
  quantity   int           NOT NULL,
  item_price decimal(8,2)   NOT NULL,
  PRIMARY KEY (o_num,o_item)
) ;

输入表记录:

INSERT INTO orderitems(o_num, o_item, f_id, quantity, item_price)
VALUES(30001, 1, 'a1', 10, 5.2),
(30001, 2, 'b2', 3, 7.6),
(30001, 3, 'bs1', 5, 11.2),
(30001, 4, 'bs2', 15, 9.2),
(30002, 1, 'b3', 2, 20.0),
(30003, 1, 'c0', 100, 10),
(30004, 1, 'o2', 50, 2.50),
(30005, 1, 'c0', 5, 10),
(30005, 2, 'b1', 10, 8.99),
(30005, 3, 'a2', 10, 2.2),
(30005, 4, 'm1', 5, 14.99);

(4)数据库表suppliers

创建表结构:

CREATE TABLE suppliers
(
  s_id      int      NOT NULL AUTO_INCREMENT,
  s_name    char(50)   NOT NULL,
  s_city    char(50)     NULL,
  s_zip     char(10)    NULL,
  s_call    CHAR(50)   NOT NULL,
  PRIMARY KEY (s_id)
) ;

输入表记录:

INSERT INTO suppliers(s_id, s_name,s_city,  s_zip, s_call)
VALUES (101,'FastFruit Inc.','Tianjin','300000','48075'),
(102,'LT Supplies','Chongqing','400000','44333'),
(103,'ACME','Shanghai','200000','90046'),
(104,'FNK Inc.','Zhongshan','528437','11111'),
(105,'Good Set','Taiyuang','030000', '22222'),
(106,'Just Eat Ours','Beijing','010', '45678'),
(107,'DK Inc.','Zhengzhou','450000', '33332');

(5)创建表orders:

创建表结构:

CREATE TABLE orders
(
  o_num  int      NOT NULL AUTO_INCREMENT,
  o_date datetime NOT NULL,
  c_id   int      NOT NULL,
  PRIMARY KEY (o_num)
) ;

输入表记录:

INSERT INTO orders(o_num, o_date, c_id)
VALUES (30001, '2022-09-01', 10001),
(30002, '2022-09-12', 10003),
(30003, '2022-09-30', 10004),
(30004, '2022-10-03', 10005),
(30005, '2022-10-08', 10001);

3.基本操作

(1)从fruits表中检索所有字段的数据:

 SELECT * FROM fruits;

(2)查询fruits表中f_name列所有水果名称:

SELECT f_name FROM fruits;

(3)从fruits表中获取f_name和f_price两列:

SELECT f_name, f_price FROM fruits;

(4)在fruits表中,查询价格为10.2元的水果的名称:

SELECT f_name, f_price  FROM fruits  WHERE f_price = 10.2;

(5)在fruits表中,查找名称为“apple”的水果的价格:

SELECT f_name, f_price  FROM fruits  WHERE f_name = 'apple';

(6)在fruits表中,查询价格小于10的水果的名称:

SELECT f_name, f_price FROM fruits WHERE f_price < 10;

(7)在fruits表中,查询s_id为101和102的记录:

SELECT s_id,f_name, f_price  FROM fruits  
WHERE s_id IN (101,102) ORDER BY f_name;

(8)在fruits表中,查询所有s_id不等于101也不等于102的记录:

SELECT s_id,f_name, f_price  FROM fruits
WHERE s_id NOT IN (101,102) ORDER BY f_name;

(9)在fruits表中,查询价格在2.00元到10.20元之间的水果名称和价格:

SELECT f_name, f_price FROM fruits
WHERE f_price BETWEEN 2.00 AND 10.20;

(10)在fruits表中,查询价格在2.00元到10.20元之外的水果名称和价格:

SELECT f_name, f_price FROM fruits
WHERE f_price NOT BETWEEN 2.00 AND 10.20;

(11)在fruits表中,查找所有以’b’字母开头的水果:

SELECT f_id, f_name FROM fruits WHERE f_name LIKE 'b%';

(12)在fruits表中,查询f_name中包含字母’g’的记录:

SELECT f_id, f_name  FROM fruits WHERE f_name LIKE '%g%';

(13)在fruits表中,查询以’b’开头,并以’y’结尾的水果的名称:

SELECT f_name  FROM fruits  WHERE f_name LIKE 'b%y';

(14)在fruits表中,查询以字母’y’结尾,且’y’前面只有4个字母的记录:

SELECT f_id, f_name FROM fruits WHERE f_name LIKE '----y';

(15)查询customers表中c_email为空的记录的c_id、c_name和c_email字段值:

SELECT c_id, c_name,c_email FROM customers WHERE c_email IS NULL;

(16)查询customers表中c_email不为空的记录的c_id、c_name和c_email字段值:

SELECT c_id, c_name,c_email FROM customers WHERE c_email IS NOT NULL;

(17)在fruits表中查询s_id = 101,并且f_price大于等于5的水果价格和名称:

SELECT f_id, f_price, f_name FROM fruits WHERE s_id = '101' AND f_price >=5;

(18)在fruits表中查询s_id = 101或者102,且f_price大于5,并且f_name=‘apple’的水果价格和名称:

SELECT f_id, f_price, f_name FROM fruits
WHERE s_id IN('101', '102') AND f_price >= 5 AND f_name = 'apple';

(19)查询s_id=101或者s_id=102的水果供应商的f_price和f_name:

SELECT s_id,f_name, f_price FROM fruits WHERE s_id = 101 OR s_id = 102;

(20)查询fruits表中s_id字段的值,返回s_id字段值且不得重复:

SELECT DISTINCT s_id FROM fruits;

(21)查询fruits表的f_name字段值,并对其进行排序:

 SELECT f_name FROM fruits ORDER BY f_name;

(22)查询fruits表中f_name和f_price字段,先按f_name排序,再按f_price排序:

SELECT f_name, f_price FROM fruits ORDER BY f_name, f_price;

(23)查询fruits表中的f_name和f_price字段,对结果按f_price降序方式排序:

SELECT f_name, f_price FROM fruits ORDER BY f_price DESC;

(24)查询fruits表,先按f_price降序排序,再按f_name字段升序排序:

SELECT f_price, f_name FROM fruits ORDER BY f_price DESC, f_name;

(25)根据s_id对fruits表中的数据进行分组:

SELECT s_id, COUNT(*) AS Total FROM fruits GROUP BY s_id;

(26)根据s_id对fruits表中的数据进行分组,将每个供应商的水果名称显示出来:

SELECT s_id, GROUP_CONCAT(f_name) AS Names FROM fruits
GROUP BY s_id;

(27)根据s_id对fruits表中的数据进行分组,并显示水果种类大于1的分组信息:

SELECT s_id, GROUP_CONCAT(f_name) AS Names FROM fruits
GROUP BY s_id HAVING COUNT(f_name) > 1;

(28)根据s_id对fruits表中的数据进行分组,并显示记录数量:

SELECT s_id, COUNT(*) AS Total FROM fruits GROUP BY s_id WITH ROLLUP;

(29)在表orderitems中,查询订单价格大于100的订单号和总订单价格:

SELECT o_num,  SUM(quantity * item_price) AS orderTotal
FROM orderitems GROUP BY o_num
HAVING SUM(quantity*item_price) >= 100;

可以看到,返回的结果中orderTotal列的总订单价格并没有按照一定顺序显示,接下来,使用ORDER BY关键字按总订单价格排序显示结果,SQL语句如下:

SELECT o_num,  SUM(quantity * item_price) AS orderTotal
FROM orderitems  GROUP BY o_num
HAVING SUM(quantity*item_price) >= 100
ORDER BY orderTotal;

(30)显示fruits表查询结果的前4行:

SELECT * From fruits LIMIT 4;

(31)在fruits表中使用LIMIT子句,返回从第5个记录开始的连续3条记录:

SELECT * From fruits LIMIT 4, 3;

(32)查询customers表中总的行数:

SELECT COUNT(*) AS cust_num  FROM customers;

(33)查询customers表中有电子邮箱的顾客的总数:

 SELECT COUNT(c_email) AS email_num FROM customers;

(34)在orderitems表中,使用COUNT( )函数统计不同订单号中订购的水果种类:

 SELECT o_num, COUNT(f_id)
     FROM orderitems  GROUP BY o_num;

(35)在orderitems表中查询30005号订单一共购买的水果总量:

SELECT SUM(quantity) AS items_total
 FROM orderitems WHERE o_num = 30005;

(36)在orderitems表中,使用SUM()函数统计不同订单号中订购的水果总量:

SELECT o_num, SUM(quantity) AS items_total
    FROM orderitems  GROUP BY o_num;

(37)在fruits表中,查询s_id=103的供应商的水果价格的平均值:

SELECT AVG(f_price) AS avg_price
   FROM fruits  WHERE s_id = 103;

(38)在fruits表中,查询每一个供应商的水果价格的平均值:

SELECT s_id,AVG(f_price) AS avg_price
   FROM fruits  GROUP BY s_id;

(39)在fruits表中查找市场上价格最高的水果:

SELECT MAX(f_price) AS max_price FROM fruits;

(40)在fruits表中查找不同供应商提供的价格最高的水果:

SELECT s_id, MAX(f_price) AS max_price
   FROM fruits  GROUP BY s_id;

(41)在fruits表中查找不同供应商提供的价格最低的水果:

SELECT s_id, MIN(f_price) AS min_price
     FROM fruits  GROUP BY s_id;

(42)由结果可以看到,fruits表和suppliers表中都有相同数据类型的字段s_id,两个表通过s_id字段建立联系。接下来从fruits表中查询f_name、f_price字段,从suppliers表中查询s_id、s_name,SQL语句如下:

SELECT suppliers.s_id, s_name,f_name, f_price
     FROM fruits ,suppliers   WHERE fruits.s_id = suppliers.s_id;

(43)在fruits表和suppliers表之间,使用INNER JOIN语法进行内连接查询:

 SELECT suppliers.s_id, s_name,f_name, f_price
     FROM fruits INNER JOIN suppliers  ON fruits.s_id = suppliers.s_id;

(44)查询供应f_id= ‘a1’的水果供应商提供的其他水果种类:

 SELECT f1.f_id, f1.f_name  FROM fruits AS f1, fruits AS f2
      WHERE f1.s_id = f2.s_id AND f2.f_id = 'a1';

(45) LEFT JOIN左连接:左连接的结果包括LEFT OUTER子句中指定的左表的所有行,而不仅仅是连接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果行中,右表的所有选择列表列均为空值。

在customers表和orders表中,查询所有客户,包括没有订单的客户:

SELECT customers.c_id, orders.o_num
     FROM customers LEFT OUTER JOIN orders
     ON customers.c_id = orders.c_id;

(46)RIGHT JOIN右连接:右连接是左连接的反向连接,将返回右表的所有行。如果右表的某行在左表中没有匹配行,左表将返回空值。

在customers表和orders表中,查询所有订单,包括没有客户的订单:

 SELECT customers.c_id, orders.o_num
     FROM customers RIGHT OUTER JOIN orders
     ON customers.c_id = orders.c_id;

(47)在customers表和orders表中,使用INNER JOIN语法查询customers表中ID为10001的客户的订单信息:

SELECT customers.c_id, orders.o_num
     FROM customers INNER JOIN orders
     ON customers.c_id = orders.c_id AND customers.c_id = 10001;

(48)在fruits表和suppliers表之间,使用INNER JOIN语法进行内连接查询,并对查询结果排序:
 

SELECT suppliers.s_id, s_name,f_name, f_price
     FROM fruits INNER JOIN suppliers
     ON fruits.s_id = suppliers.s_id  ORDER BY fruits.s_id;

(49)查询suppliers表中是否存在s_id=107的供应商,如果存在,则查询fruits表中的记录:

 SELECT * FROM fruits
     WHERE EXISTS  (SELECT s_name FROM suppliers WHERE s_id = 107);

(50)查询suppliers表中是否存在s_id=107的供应商,如果存在,则查询fruits表中的f_price大于10.20的记录:

 SELECT * FROM fruits
     WHERE f_price>10.20 AND EXISTS
     (SELECT s_name FROM suppliers WHERE s_id = 107);

(51)查询suppliers表中是否存在s_id=107的供应商,如果不存在则查询fruits表中的记录:

 SELECT * FROM fruits
     WHERE NOT EXISTS
     (SELECT s_name FROM suppliers WHERE s_id = 107);

(52)在orderitems表中查询f_id为c0的订单号,并根据订单号查询具有订单号的客户c_id:

SELECT c_id FROM orders WHERE o_num IN
     (SELECT o_num  FROM orderitems WHERE f_id = 'c0');

(53)在suppliers表中查询s_city等于“Tianjin”的供应商s_id,然后在fruits表中查询所有该供应商提供的水果的种类:

SELECT s_id, f_name FROM fruits
WHERE s_id =(SELECT s1.s_id FROM suppliers AS s1 WHERE s1.s_city = 'Tianjin');

(54)在suppliers表中查询s_city等于“Tianjin”的供应商s_id,然后在fruits表中查询所有非该供应商提供的水果的种类:

 SELECT s_id, f_name FROM fruits
 WHERE s_id <> (SELECT s1.s_id FROM suppliers AS s1 WHERE s1.s_city = 'Tianjin');

(55)查询所有价格小于9的水果的信息,查询s_id等于101和103所有的水果的信息,使用UNION连接查询结果:

SELECT s_id, f_name, f_price
FROM fruits
WHERE f_price < 9.0
UNION ALL
SELECT s_id, f_name, f_price
FROM fruits
WHERE s_id IN(101,103);

(56)如前所述,UNION将多个SELECT语句的结果组合成一个结果集合。可以分开查看每个SELECT语句的结果:
 

 SELECT s_id, f_name, f_price
     FROM fruits
     WHERE f_price < 9.0;
 SELECT s_id, f_name, f_price
     FROM fruits
     WHERE s_id IN(101,103);

(57)查询所有价格小于9的水果的信息,查询s_id等于101和103的所有水果的信息,使用UNION ALL连接查询结果:

SELECT s_id, f_name, f_price
FROM fruits
WHERE f_price < 9.0
UNION ALL
SELECT s_id, f_name, f_price
FROM fruits
WHERE s_id IN(101,103);

(58)为orders表取别名o,查询30001订单的下单日期:

SELECT * FROM orders AS o
WHERE o.o_num = 30001;

(59) 为customers和orders表分别取别名,并进行连接查询:

 SELECT c.c_id, o.o_num
    FROM customers AS c LEFT OUTER JOIN orders AS o
     ON c.c_id = o.c_id;
 SELECT f1.f_id, f1.f_name
    FROM fruits AS f1, fruits AS f2
      WHERE f1.s_id = f2.s_id AND f2.f_id = 'a1';

(60)查询fruits表,为f_name取别名fruit_name,f_price取别名fruit_price,为fruits表取别名f1,查询表中f_price < 8的水果的名称:

 SELECT f1.f_name AS fruit_name, f1.f_price AS fruit_price
     FROM fruits AS f1
     WHERE f1.f_price < 8;

(61)查询suppliers表中字段s_name和s_city,使用CONCAT函数连接这两个字段值,并取列别名为suppliers_title。

如果没有对连接后的值取别名,其显示列名称将会不够直观:

 SELECT CONCAT(TRIM(s_name) , ' (',  TRIM(s_city), ')')
      FROM suppliers
      ORDER BY s_name;
SELECT CONCAT(TRIM(s_name) , ' (', TRIM(s_city), ')')
     AS suppliers_title
     FROM suppliers
     ORDER BY s_name;

(62)在fruits表中,查询f_name字段以字母’b’开头的记录:

SELECT * FROM fruits WHERE f_name REGEXP '^b';

(63)在fruits表中,查询f_name字段以“be”开头的记录:

SELECT * FROM fruits WHERE f_name REGEXP '^be';

(64)在fruits表中,查询f_name字段以字母’y’结尾的记录:

SELECT * FROM fruits WHERE f_name REGEXP 'y$';

(65)在fruits表中,查询f_name字段以字符串“rry”结尾的记录:

SELECT * FROM fruits WHERE f_name REGEXP 'rry$';

(66)在fruits表中,查询f_name字段值包含字母’a’与’g’且两个字母之间只有一个字母的记录:

SELECT * FROM fruits WHERE f_name REGEXP 'a.g';

(67)在fruits表中,查询f_name字段值以字母’b’开头,且’b’后面出现字母’a’的记录,SQL语句如下:

SELECT * FROM fruits WHERE f_name REGEXP '^ba*';

(68)在fruits表中,查询f_name字段值以字母’b’开头,且’b’后面出现字母’a’至少一次的记录,SQL语句如下:

 SELECT * FROM fruits WHERE f_name REGEXP '^ba+';

(69)在fruits表中,查询f_name字段值包含字符串“on”的记录,SQL语句如下:

SELECT * FROM fruits WHERE f_name REGEXP 'on';

(70)在fruits表中,查询f_name字段值包含字符串“on”或者“ap”的记录:

 SELECT * FROM fruits WHERE f_name REGEXP 'on|ap';

(71)在fruits表中,使用LIKE运算符查询f_name字段值为“on”的记录:

SELECT * FROM fruits WHERE f_name LIKE 'on';

(72)在fruits表中,查找f_name字段中包含字母’o’或者’t’的记录:

SELECT * FROM fruits WHERE f_name REGEXP '[ot]';

(73)在fruits表,查询s_id字段中数值中包含4、5或者6的记录:

SELECT * FROM fruits WHERE s_id REGEXP '[456]';

(74)在fruits表中,查询f_id字段包含字母a~e和数字1~2以外的字符的记录:

SELECT * FROM fruits WHERE f_id REGEXP '[^a-e1-2]';

(75)在fruits表中,查询f_name字段值出现字母’x’至少2次的记录:

SELECT * FROM fruits WHERE f_name REGEXP 'x{2,}';

  • 7
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
一、源码描述 本系统基于SSM(Spring+SpringMVC+MyBatis)框架,适用于毕业设计,采用javaweb,基于B/S模式,Myeclipse或者eclipse idea为开发工具,mysql数据库,感兴趣的朋友们可以下载研究一下。 二、功能介绍 1、用户注册:有用户进入系统后,可进行浏览水果蔬菜,若想购买水果蔬菜,必须先进行注册,注册需要填写账号、真实姓名、密码、电话、性别、地址等信息。 2、登录:用户在注册账号之后,就进行登录,然后可以购买水果蔬菜。 3、查看水果蔬菜:在进入系统后,用户可根据水果蔬菜的名字进行搜索,也可根据水果蔬菜的分类进行查看自己想查看的水果蔬菜。 4、加入购物车:用户在选中一个水果蔬菜后,可暂时把水果蔬菜放到购物车中,一起结账。 5、提交订单:用户进入购物车后,可以把加入购物车的水果蔬菜一起下单。 6、查看订单:用户在登录系统后,可以在查看订单里查看自己的订单。 7、水果蔬菜管理:管理员在登录系统后,可以对水果蔬菜进行增删操作,当管理员添加一个水果蔬菜后,该水果蔬菜就会在客户端显示出来,当管理员把一个水果蔬菜删除后,该水果蔬菜就会下架,不会在商首页中显示。 8、客户管理:管理员可对水果蔬菜进行增删改查操作,也可根据客户的名字进行查询单个客户信息。 9、分类管理:分类管理主要有一级分类和二级分类,二级分类是在一级分类的基础上进行的,一级分类和二级分类添加后,会在前台客户端列出来。当添加一个水果蔬菜时,会选择水果蔬菜的二级分类,然后在前台就可以根据分类查询出该水果蔬菜。 10、订单管理:前台用户生成的订单,都会在该页面显示出来,并且管理员可对其进行操作。 三、注意事项 1、管理员账号:hsg 密码:hsg 2、开发环境为eclipse idea/Myeclipse均可,含数据库建立脚本,jdk7.0以上,tomcat7以上, 使用ssm框架,jsp/java语言开发。 3、采用jdbc连接方式,数据库版本>mysql5.7需要更改数据库连接等和增加连接驱动,兼容所有mysql版本 4、数据库连接src\applicationContext.xml中和src\com\util\db.java中修改, 5、如果你的mysql数据库密码为空,导入即可运行,方便快捷
汽车销售管理系统是一个基于MySQL数据库的应用系统,旨在帮助汽车销售公司高效管理和控制其销售业务。MySQL是一种开源的关系型数据库管理系统,被广泛应用于各种类型的应用程序中。 汽车销售管理系统的数据库设计主要涉及以下几个方面: 1. 基本信息管理:包括汽车品牌、型号、颜色、售价等基本信息的录入和管理。这些信息将被存储在MySQL数据库的适当表中,以便销售人员能够方便地查询和更新。 2. 顾客信息管理:销售系统需要记录与顾客相关的信息,如顾客姓名、联系方式、地址等。这些信息将被存储在顾客表中,并与销售记录相关联,以便销售人员能够更好地为顾客服务。 3. 销售记录管理:每次销售都需要记录相关信息,如销售时间、销售人员、销售金额等。这些信息将被存储在销售记录表中,以便管理人员能够了解销售情况和业绩。 4. 库存管理:汽车销售公司需要掌握库存情况,包括每款汽车的库存数量和存放位置等。这些信息将被存储在库存表中,并与销售记录表相关联,以便及时补充库存。 5. 报表生成:基于MySQL数据库的汽车销售管理系统还能够根据存储的数据生成各种类型的报表,如销售统计报表、库存报表等。这些报表能够为管理人员提供决策支持。 汽车销售管理系统的使用可以提高销售效率,简化销售流程,并为管理人员提供准确的数据分析。MySQL作为强大的数据库管理系统,能够提供高速的数据访问、可靠的数据存储和强大的数据处理能力,为汽车销售管理系统的运行提供坚实的基础。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值