- # 创建并选择数据库
-
create database mydata;
- use mydata
-
- # 显示数据库
- show databases;
- # 显示表
- show tables;
- # 查看表
-
desc 表的名字;
-
- # 客户表
-
create table customers
- (
-
cust_id int primary key, #主键
-
cust_name varchar(20),
-
cust_emil varchar(50)
- );
-
- # 订单表
-
create table orders
- (
-
orders_num int primary key,
- orders_date datetime,
-
cust_id int, #客户id 外键
-
foreign key (cust_id) references customers(cust_id)
- );
-
-
insert into prod values (1, 'm', 'apq', '20', '1998-02-28');
-
commit;
-
-
select * from prod;
-
- # 删除表
-
drop table orders;
-
- # 删除表数据
-
delete from orders where orders_num=100; #删除一行
-
delete from orders; #删除表里的所有数据
-
- # 自动递增字段
-
create table article
- (
-
id int primary key auto_increment,
-
title varchar(10)
- );
-
- # 自动递增字段表里插入数据
-
insert into article (title) values('a');
-
insert into article (title) values('b');
-
+
- | id | title |
-
+
- | 1 | a |
- | 2 | b |
-
+
-
-
select * from prod limit 0,2;
-
select * from prod order by prod_id desc limit 3,2;
-
- # 日期格式化
-
select date_format(now(), '%y-%m-%d %h:%i:%s');
-
- 可以显示数据库的编码
-
show create table table_name;
-
- 在写SQL语句之前,请加上这一句,以保证前台和后台的编码一致
-
set names gbk;
- MySql安装目录下,请找到my.ini文件,在[mysql]下面把编码改成gbk, 在[mysqld]下面
-
编码改成utf8 这样以后就不用写set names gbk了!!之后重启MYSql
- [mysql]
- # 客户端的编码
-
default-character-set=gbk
- [mysqld]
- # 服务器端的编码
-
default-character-set=utf8
# 创建并选择数据库
create database mydata;
use mydata
# 显示数据库
show databases;
# 显示表
show tables;
# 查看表
desc 表的名字;
# 客户表
create table customers
(
cust_id int primary key, #主键
cust_name varchar(20),
cust_emil varchar(50)
);
# 订单表
create table orders
(
orders_num int primary key,
orders_date datetime,
cust_id int, #客户id 外键
foreign key (cust_id) references customers(cust_id)
);
insert into prod values (1, 'm', 'apq', '20', '1998-02-28');
commit;
select * from prod;
# 删除表
drop table orders;
# 删除表数据
delete from orders where orders_num=100; #删除一行
delete from orders; #删除表里的所有数据
# 自动递增字段
create table article
(
id int primary key auto_increment,
title varchar(10)
);
# 自动递增字段表里插入数据
insert into article (title) values('a');
insert into article (title) values('b');
+----+-------+
| id | title |
+----+-------+
| 1 | a |
| 2 | b |
+----+-------+
select * from prod limit 0,2;
select * from prod order by prod_id desc limit 3,2;
# 日期格式化
select date_format(now(), '%y-%m-%d %h:%i:%s');
可以显示数据库的编码
show create table table_name;
在写SQL语句之前,请加上这一句,以保证前台和后台的编码一致
set names gbk;
MySql安装目录下,请找到my.ini文件,在[mysql]下面把编码改成gbk, 在[mysqld]下面
编码改成utf8 这样以后就不用写set names gbk了!!之后重启MYSql
[mysql]
# 客户端的编码
default-character-set=gbk
[mysqld]
# 服务器端的编码
default-character-set=utf8
- # 创建存储过程(不带参数的)
- delimiter //
-
create procedure user_avg()
-
begin
-
select avg(money) as avg_money from user;
-
end //
- delimiter ;
-
- # 调用存储过程
- call user_avg();
-
- # 删除存储过程
-
drop procedure if exists user_avg;
-
-
-
# 创建存储过程(带参数的), out是输出值
- delimiter //
-
create procedure proce(
-
out low decimal(8, 2),
-
out high decimal(8, 2),
-
out average decimal(8, 2)
- )
-
-
begin
-
select min(money) from user into low;
-
select max(money) from user into high;
-
select avg(money) from user into average;
-
end //
- delimiter ;
-
- # 调用存储过程
- call proce(@low, @high, @average);
-
- # 检索
-
select @low;
-
select @high;
-
select @average;
-
select @low, @high, @average;
-
-
-
# 创建存储过程(带参数的), in是输入值
-
create table products
- (
-
id int primary key auto_increment,
-
name varchar(30),
-
price float,
-
quantity int
- );
-
-
insert into products(name, price, quantity) values('umbrella', 20.0, 5);
-
insert into products(name, price, quantity) values('knife', 200.0, 10);
-
insert into products(name, price, quantity) values('trousers', 300.0, 20);
-
- delimiter //
-
create procedure ordertotal(
-
in number int,
-
out total decimal(8, 2)
- )
-
begin
-
select sum(price * quantity) from products where id = number into total;
-
end //
- delimiter ;
-
-
call ordertotal(1, @sum);
-
select @sum;
-
-
- # 显示所有存储过程
-
show procedure status;
- # 删除存储过程
-
drop procedure if exists ordertotal;
-
-
-
-
# \. D:\\SQL\\procedure.sql
-
-
-
public class Procedure {
-
-
public static void main(String[] args) throws Exception {
-
orderTotal("umbrella", 1); //umbrella: 100.0
-
orderTotal("knife", 2); //knife: 2000.0
-
orderTotal("trousers", 3); //trousers: 6000.0
- }
-
-
static void orderTotal(String name, int id) throws Exception {
-
Connection conn = null;
-
CallableStatement cs = null;
-
ResultSet rs = null;
- try {
- conn = JdbcUtils.getConnection();
- //创建语句
-
String sql = "{ call ordertotal(?,?) }";
- cs = conn.prepareCall(sql);
- //注册输出参数
-
cs.registerOutParameter(2, Types.DECIMAL);
- cs.setInt(1, id);
- cs.executeUpdate();
-
- //拿出输出参数
-
float total = cs.getFloat(2);
-
System.out.println(name + ": " + total);
- } finally {
-
JdbcUtils.free(rs, cs, conn);
- }
- }
-
- }
分享到:
相关推荐
SSM + MySQL5.5 + Navicat11.2.7 是一套常见的Java Web开发技术组合,适用于构建各类Web应用程序,尤其是企业级项目。在这个毕业设计中,开发者使用了Spring、SpringMVC和MyBatis(简称SSM)作为后端框架,MySQL5.5...
数据库版本提及的是“mysql5.0”,这是MySQL数据库的一个早期版本,具有良好的稳定性和性能,而“上传的sql文件在mysql5.5也可用”表明该系统的数据库脚本兼容性较好,可以在更新的MySQL 5.5版本上运行,这意味着...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,而`mysql-connector-java-5.1.27`则是MySQL官方为Java开发者提供的一个关键组件,用于在Java应用程序中与MySQL数据库进行交互。这个驱动包允许Java程序通过JDBC...
9. **MySQL 5.5**: MySQL是一款广泛使用的开源关系型数据库管理系统,这里用于存储和管理应用的数据。 10. **JDBC驱动**: JDBC(Java Database Connectivity)是Java连接数据库的标准接口,需要对应的MySQL JDBC...
MySQL Connector/J 8.0.19 是MySQL数据库与Java应用程序之间的重要桥梁,它是一个用于连接Java应用程序到MySQL服务器的JDBC驱动程序。这个压缩包包含的“mysql-connector-java-8.0.19.jar”是这个驱动的实现文件,...
MySQL驱动包还包含了一些高级特性,如连接池支持、事务处理、批处理操作、存储过程调用等。例如,使用连接池如C3P0或HikariCP可以更高效地管理数据库连接,避免频繁创建和关闭连接的开销。此外,驱动包还提供了处理...
8. **存储过程和函数调用**:允许执行MySQL的存储过程和函数,并处理返回的结果。 9. **元数据获取**:提供方法获取数据库和表的元数据信息,便于动态构建SQL语句或进行数据库版本检查。 10. **错误处理和日志记录...
《深入理解Lucene 5.5:基于Spring MVC与MySQL的实战示例》 Lucene是一个高性能、全文本检索库,被广泛应用于各种搜索引擎的开发。在这个“lucene5.5demo”项目中,开发者利用Lucene 5.5版本,结合Spring MVC框架和...
8. 支持存储过程和函数:可以通过CallableStatement接口调用MySQL的存储过程和函数。 9. 集成其他Java框架:MySQL Connector/J可以无缝集成到Spring、Hibernate等Java开发框架中,简化数据库操作。 10. 分页查询:...
4. 支持新的数据库特性:如分区表、存储过程、触发器等MySQL的新特性。 5. 支持Java 6:对于当时的主流Java版本提供了全面支持。 在Java应用中使用MySQL Connector/J的步骤通常如下: 1. 添加依赖:将“mysql-...
MySQL 5.5的主要改进: - 性能提升:优化了查询执行引擎,提高了InnoDB存储引擎的性能。 - InnoDB存储引擎增强:支持自适应哈希索引、更快的插入操作、更少的磁盘I/O。 - 二进制日志增强:支持压缩二进制日志,减少...
这个版本的驱动适用于与 MySQL 5.5 和 5.6 服务器版本进行通信,是Java开发人员在处理MySQL数据库时不可或缺的组件。下面将详细介绍该驱动的一些关键知识点: 1. JDBC(Java Database Connectivity):JDBC 是 Java...
- 支持存储过程的调用和结果集的处理。 - 支持自动重连和故障恢复,提高系统的可用性。 - 支持多种数据库特性,如事务处理、索引、视图等。 5. 兼容性: MySQL Connector/J 5.1.22 适用于 Java SE 5 及以上版本...
它提供了与MySQL 5.x版本数据库的连接功能,包括基本的CRUD操作、事务处理、存储过程调用等。然而,由于版本较旧,可能不包含某些新特性,比如对MySQL 8.x新特性的支持,或者对新安全标准的遵循。 2. **mysql-...
`mysql-connector-java`是MySQL提供的JDBC驱动,版本6.0.2代表这是一个较新的稳定版本,发布于2016年,提供了对MySQL 5.5至5.7版本的支持,并具备了更好的性能和安全性。 **一、mysql-connector-java的作用** 1. **...
环境配置包括**MyEclipse**作为开发工具,以及**MySQL**作为数据库管理系统。 **MVC模式**是一种软件设计模式,用于分离应用程序的数据、业务逻辑和用户界面。在这个项目中,**Model**负责处理数据和业务逻辑,例如...
MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的...
- **兼容性**:支持MySQL的各种特性,如存储过程、触发器、视图等,同时兼容多种Java应用服务器。 **MySQL Connector/J 5.1.46版本特性:** - 提供了对MySQL 5.5至5.7版本的支持。 - 包含了一些性能优化和错误修复...
比如mysql的Java的JDBC驱动程序——mysql-connector-java-5.1.26-bin.jar。再比如.net平台的操作数据库的规范ADO。 模块2:连接池,Mysql自身有个连接池,为了连接线程的复用,Mysql将其进行了池化。将连接资源进行...
MySQL JDBC驱动,全称为MySQL Connector/J,是MySQL官方提供的用于Java应用程序与MySQL数据库进行交互的驱动程序。它遵循Java Database Connectivity (JDBC) API规范,使得开发者能够在Java平台上方便地执行SQL语句...