cmd_操作MySQL数据库
建议用 TXT 文档来写代码 然后粘贴至cmd命令直接运行
创建students库,表名为student,表包含以下字段:
id(主键) name(姓名) age(年龄) sex(性别) sc(综合积分) ;
insert student values(0,"小姐",1,24,188) create table student(
id int auto_increment primary key not null,
name varchar(10) not null,
sex enum("男","女","中性"),
age int ,
jf int
)default charset="utf8"; 3)(10分)向表里添加5条数据,自定义各个字段数据类型;
insert student values(0,"小刘",1,20,158);
insert student values(0,"小崔",2,21,159);
insert student values(0,"小钱",3,22,128);
insert student values(0,"小林",2,23,138);
insert student values(0,"小姐",1,24,188); 4)(10分)查询出所有学生的信息,并输出;
select * from student; 5)(10分)查询所有女生的信息,并输出
select * from student where sex=2; 6)(10分)查询所有男生且综合积分49分以下的信息,并输出
select * from student where sex=1 and jf=158; 7)(10分)给综合积分低于49分以下的同学,综合积分加上50,并查看信息
update student set jf=jf+50 where jf=158; 8)(10分)查询出所有姓张的同学的信息,并输出。
select * from student where name like "%小%"; 9)(10分)删除ID是1的记录,如果没有相关记录则提示
delete from student where id=1; 10)(10分)将性别为女的记录年龄统一加2岁,并查看信息
update student set age=age+2 where sex=2; 11)(10分)查看所有同学的综合积分情况
select jf from student;
1. 使用sql语句创建数据库,名称为CustomDB 2. 创建数据表customer(客户)、deposite(存款)、bank(银行),表结构如下:(10分) customer的表结构 | 属性名称 | 类型与长度 | 中文含义 | 备注 |
| -------- | ------------ | -------- | ---------- |
| c_id | char(6) | 客户标识 | 主键,非空 |
| name | varchar(30) | 客户姓名 | 非空 |
| location | Varchar(30) | 工作地点 | |
| salary | decimal(8,2) | 工资 | | bank的表结构 | 属性名称 | 类型与长度 | 中文含义 | 备注 |
| --------- | ---------- | -------- | ---------- |
| b_id | char(5) | 银行标识 | 主键,非空 |
| bank_name | char(30) | 银行名次 | 非空 | deposite的表结构 | 属性名称 | 类型与长度 | 中文含义 | 备注 |
| --------- | ------------ | ---------- | -------------------------- |
| d_id | int | 存款流水号 | 主键,非空,自增 |
| c_id | char(6) | 客户标识 | 外键,关联customer表的c_id |
| b_id | char(5) | 银行标识 | 外键,关联bank表的b_id |
| dep _date | date | 存入日期 | |
| amount | decimal(8,2) | 存款金额 | | 3、录入数据: customer的数据如下 | c_id | name | location | salary |
| ------ | ---- | -------- | ------ |
| 101001 | 孙杨 | 广州 | 1234 |
| 101002 | 郭海 | 南京 | 3526 |
| 101003 | 卢江 | 苏州 | 6892 |
| 101004 | 郭惠 | 济南 | 3492 | bank的数据如下: | b_id | bank_name |
| ----- | --------- |
| B0001 | 工商银行 |
| B0002 | 建设银行 |
| B0003 | 中国银行 |
| B0004 | 农业银行 | deposite的数据如下: | d_id | c_id | b_id | dep_date | amount |
| ---- | ------ | ----- | ---------- | ------ |
| 1 | 101001 | B0001 | 2011-04-05 | 42526 |
| 2 | 101002 | B0003 | 2012-07-15 | 66500 |
| 3 | 101003 | B0002 | 2010-11-24 | 42366 |
| 4 | 101004 | B0004 | 2008-03-31 | 62362 |
| 5 | 101001 | B0003 | 2002-02-07 | 56346 |
| 6 | 101002 | B0001 | 2004-09-23 | 353626 |
| 7 | 101003 | B0004 | 2003-12-14 | 36236 |
| 8 | 101004 | B0002 | 2007-04-21 | 26267 |
| 9 | 101001 | B0002 | 2011-02-11 | 435456 |
| 10 | 101002 | B0004 | 2012-05-13 | 234626 |
| 11 | 101003 | B0003 | 2001-01-24 | 26243 |
| 12 | 101004 | B0001 | 2009-08-23 | 45671 | 4、修改数据(sql语句实现): 1.将数据表deposite中孙杨的存款金额加10000 2.将数据表deposite中所属账户为工商银行并且存入日期为2011-04-05的人员的存款金额加1000 3.将数据表deposite中郭海的银行标识改为建设银行 5、查询数据(sql语句实现): 1.查询孙杨的存款信息(显示信息:客户ID,客户姓名,银行名称,存款金额) 2.查询日期为2011-04-05这一天进行过存款的客户ID,客户姓名,银行名称,存款金额 3.查询郭海在工商银行的存款信息(显示信息:客户ID,客户姓名,银行标识,银行名称,存款日期,存款金额) 4.查询工商银行存款大于等于一万的客户姓名(使用表链接和子查询两种方式实现) 5.查询在农业银行存款前五名的客户存款信息(显示信息:客户姓名,银行名称,存款金额) 6.查询姓“卢”的客户的存款信息(显示信息:客户姓名,银行名称,存款金额) 1. 使用sql语句创建数据库,名称为CustomDB
答:`create database if not exists CustomDB;`
2. 创建表,代码如下:
答: ```
/*创建顾客表*/
create table if not exists customer(
c_id char(6) primary key,
name varchar(30)not null,
location varchar(30),
salary decimal(8,2)
);
/*插入数据*/
insert into customer
values('','孙杨','广州',1234),
('','郭海','南京',3526),
('','卢江','苏州',6892),
('','郭惠','济南',3492);
/*创建银行表*/
create table if not exists bank(
b_id char(5) primary key,
bank_name char(30) not null
);
insert into bank
values('B0001','工商银行'),
('B0002','建设银行'),
('B0003','中国银行');
insert into bank
values('B0004','农业银行');
/*创建存款表(注意外键的代码使用)*/
create table if not exists deposite(
d_id int(10) auto_increment primary key,
c_id char(6),
b_id char(5),
dep_date date,
amount decimal(8,2),
constraint FK_c_id foreign key(c_id) references customer(c_id)
);
CREATE TABLE `deposit` (
`d_id` int NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`c_id` varchar(6) ,
`b_id` varchar(5) ,
`dep_date` date ,
`dep_type` enum('','','') ,
`amount` decimal(8,2) ,
FOREIGN KEY (`c_id`) REFERENCES `customer` (`c_id`),
FOREIGN KEY (`b_id`) REFERENCES `bank` (`b_id`)
);
create table deposite(
d_id int not null auto_increment primary key,
c_id varchar(6),
b_id varchar(5),
dep_date date,
dep_type enum('','',''),
amount decimal(8,2),
foreign key(c_id) references customer(c_id),
foreign key(b_id) references bank(b_id)
);
insert into deposite
values(1,'','B0001','2011-04-05',1,42526),
(2,'','B0003','2012-07-15',1,66500),
(3,'','B0002','2010-11-24',2,42366),
(4,'','B0004','2008-03-31',3,62362),
(5,'','B0003','2002-02-07',3,56346),
(6,'','B0001','2004-09-23',1,353626),
(7,'','B0004','2003-12-14',2,36236),
(8,'','B0002','2007-04-21',1,26267),
(9,'','B0002','2011-02-11',1,435456),
(10,'','B0004','2012-05-13',2,234626),
(11,'','B0003','2001-01-24',3,26243),
(12,'','B0001','2009-08-23',2,45671);
``` 1. 将数据表deposite中孙杨的存款金额加10000 ```
update deposite set amount =amount+10000
where c_id in(select c_id from customer where name='孙杨');
``` 1. 将数据表deposite中所属账户为工商银行并且存入日期为2011-04-05的人员的存款金额加1000 ```
update deposite set amount=amount+1000
where dep_date='2011-04-05' and b_id in(select b_id from bank where bank_name='工商银行');
``` 1. 将数据表deposite中郭海的银行标识改为建设银行 ```
update deposite set b_id=(select b_id from bank where bank_name='建设银行')
where c_id in(select c_id from customer where name='郭海');
``` 1. 查询孙杨的存款信息(显示信息:客户ID,客户姓名,银行名称,存款金额) ```
## 内连接查询
select customer.c_id,customer.name,bank.bank_name,deposite.amount
from deposite inner join customer on customer.c_id=deposite.c_id
inner join bank on bank.b_id=deposite.b_id
and customer.name='孙杨'; ##表连接查询
select customer.name,customer.c_id,bank.bank_name,deposite.amount
from customer,bank,deposite
where customer.c_id= deposite.c_id
and bank.b_id= deposite.b_id and customer.name='孙杨';
``` 1. 查询日期为2011-04-05这一天进行过存款的客户ID,客户姓名,银行名称,存款金额 ```
方法(1):内连接查询: select customer.c_id,customer.name,bank.bank_name,deposite.amount
from deposite
inner join customer on customer.c_id= deposite.c_id
inner join bank on bank.b_id=deposite.b_id
and deposite.dep_date='2011-04-05';
方法(2):表连接查询:
select customer.name,customer.c_id,bank.bank_name,deposite.amount
from deposite,customer,bank
where deposite.dep_date='2011-04-05'
and customer.c_id= deposite.c_id
and bank.b_id= deposite.b_id;
``` 1. 查询郭海在工商银行的存款信息(显示信息:客户ID,客户姓名,银行标识,银行名称,存款日期,存款金额) ```
方法(1):内连接查询:
select customer.c_id,customer.name,bank.b_id ,bank.bank_name,
deposite.amount,deposite.dep_date
from deposite
inner join customer on customer.c_id= deposite.c_id
inner join bank on bank.b_id=deposite.b_id
and customer.name='郭海' and bank.bank_name='建设银行'; 方法(2):表连接查询:
select customer.c_id,customer.name,bank.b_id ,bank.bank_name,
deposite.amount,deposite.dep_date
from deposite,bank,customer
where customer.c_id= deposite.c_id
and bank.b_id=deposite.b_id
and customer.name='郭海' and bank.bank_name='建设银行'; ``` 1. 查询工商银行存款大于等于一万的客户姓名(使用表链接和子查询两种方式实现) ```
方法(1):子查询:
select customer.name FROM customer WHERE c_id in (
select c_id from deposite WHERE amount in
(select amount from deposite WHERE amount>1000 and b_id IN
(select b_id from bank where bank_name='工商银行'))); 方法(2):表连接查询:
select customer.name
from deposite,bank,customer
where customer.c_id= deposite.c_id
and bank.b_id=deposite.b_id
where amount>10000 AND bank_name='工商银行'; 方法(3):内连接查询:
select customer.name
from deposite
inner join customer on customer.c_id= deposite.c_id
inner join bank on bank.b_id=deposite.b_id
where amount>10000 AND bank_name='工商银行';
``` 1. 查询在农业银行存款前五名的客户存款信息(显示信息:客户姓名,银行名称,存款金额) ```
方法(1):内连接查询:
select customer.name,bank.bank_name,deposite.amount
from deposite
inner join customer on customer.c_id= deposite.c_id
inner join bank on bank.b_id=deposite.b_id
where bank_name='农业银行' ORDER BY amount DESC LIMIT 5; 方法(2):表连接查询:
select customer.name,bank.bank_name,deposite.amount
from deposite,bank,customer
where customer.c_id= deposite.c_id
and bank.b_id=deposite.b_id
and bank_name='农业银行' ORDER BY amount DESC LIMIT 5;
``` 1. .查询姓“卢”的客户的存款信息(显示信息:客户姓名,银行名称,存款金额) ```
方法(1):内连接查询:
select customer.name,bank.bank_name,deposite.amount
from deposite
inner join customer on customer.c_id= deposite.c_id
inner join bank on bank.b_id=deposite.b_id where name LIKE '卢%';
方法(2):表连接查询:
select customer.name,bank.bank_name,deposite.amount
from deposite,bank,customer
where customer.c_id= deposite.c_id
and bank.b_id=deposite.b_id AND name LIKE '卢%';
``` 1. 创建存储过程update_salary,更新customer表的salary属性,将salary低于5000的客户的salary变为原来的2倍. ```
create procedure update_salary()
update customer set salary = salary * 2
where salary < 5000;
```
cmd_操作MySQL数据库的更多相关文章
- PHP操作MySQL数据库5个步骤
PHP操作MySQL数据库一般可分为5个步骤:1.连接MySQL数据库服务器:2.选择数据库:3.执行SQL语句:4.关闭结果集:5断开与MySQL数据库服务器连接. 1.用mysql_connect ...
- python操作mysql数据库的相关操作实例
python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...
- 转 用C API 操作MySQL数据库
用C API 操作MySQL数据库 参考MYSQL的帮助文档整理 这里归纳了C API可使用的函数,并在下一节详细介绍了它们.请参见25.2.3节,“C API函数描述”. 函数 描述 mysql_a ...
- PHP操作mysql数据库:[2]查询数据听语音
本文主要详细讲解如何使用php语言,对mysql数据库进行查询.添加.删除.更新等操作. 工具/原料 Macromedia Dreamweaver 8 mysql数据库,php语言 一.前言 ...
- Code First操作Mysql数据库
前面博客也讲了,自己做一个网站,选用的是MVC+EF Code First+MySql+EasyUI,先说下技术选型.一.为什么选择MVC? 因为之前自己做的系统大部分是webForm,MVC的之前也 ...
- JDBC操作MySQL数据库案例
JDBC操作MySQL数据库案例 import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepared ...
- shell脚本操作mysql数据库
shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改.查)等各种操作 mysql -hhostname -Pport -uusername -pp ...
- Java使用Jdbc操作MySql数据库(一)
这个示例是Java操作MySql的基本方法. 在这个示例之前,要安装好MySql,并且配置好账户密码,创建一个logininfo数据库,在数据库中创建userinfo数据表.并且在表中添加示例数据. ...
- 使用node js 操作 Mysql 数据库
使用node js 操作 Mysql 数据库 http://www.nodejs.org/ //node js 数据库操作 MySQL //使用https://github.com/felixge/n ...
随机推荐
- Java基础__随机生成1~15之间不重复的数字
package text; import java.util.ArrayList; import java.util.List; public class Text { public static v ...
- yum update 更新失败
1.yum安装东西的时候,老是报:There are unfinished transactions remaining. You might consider running yum-complet ...
- [CSP-S模拟测试]:Blue(贪心)
题目描述 $Blue$是个动物学家,不仅喜欢研究猫和老鼠,还喜欢研究青蛙.他最近开始研究青蛙过河的问题,可以简化成:数轴上$0$为岸边,$L$为河对岸.$(0,L)$中间存在$n$个石子.已知青蛙一跳 ...
- VMWare workstation12配置CentOS6.5虚拟机NAT网络以及虚拟机静态IP
1.右键网络连接—>打开网络和共享中心—>更改适配器设置—>找到网络适配器VMware Virtual Ethernet Adapter for VMnet8—>如下图所示修改 ...
- Spring Boot注入RestTemplate ,出现空指针解决办法
SpringBoot 注入RestTemplate 我看了一下大都是让我们在启动类里面加一个Bean配置代码如下 @Autowired private RestTemplateBuilder buil ...
- 安装ubuntu是所需的引导
title Install Ubuntu root (hd0,0) kernel (hd0,0)/vmlinuz boot=casper iso-scan/filename=/ubuntu-16.04 ...
- LeetCode 63. 不同路径 II(Unique Paths II)
题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为“Finish”). ...
- laravel 5以后数据库插入自动转化方式
- 将一个SpringBoot工程打成jar包并在控制台执行起来
JDK:1.8.0_212 IDE:STS4(Spring Tool Suit4 Version: 4.3.2.RELEASE) 工程下载:https://files.cnblogs.com/file ...
- 使用 Itext 生成PDF
一.生成PDF,所需jar包(itext-2.0.8.jar,iTextAsian.jar) 在springboot中只需要引入依赖即可,依赖代码如下: <dependency> < ...