栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mysql Day11 使用其他编程语言操作mysql

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mysql Day11 使用其他编程语言操作mysql

索引

提高查询效率

每个字段都可以加索引

给经常做查询的字段加索引

主键默认包含索引

alter table 表名 add index 索引名称(字段)
alter table student add index nameindex(name);
alter table student drop index nameindex;
事务

mysql批处理 执行一批SQL语句 原子性的 不可再分割 要成功 都成功 要失败都失败

sql的执行每一条都是独立的

事务可以对于多张表进行同时操作

状态:开始 结束 提交 回滚

事务从开始 到提交结束之前 所有的操作都是虚拟的(临时的 假的)

提交之后才会把操作 保存到真是数据总

begin;# 执行一次就表示开始事务 不需要多次执行
update person set money='3000';
update bank set money='2000';
rollback;# 回滚 撤销以上所有的虚拟的操作
update person set money='3000';
update bank set money='2000';
commit;# 提交 提交之后结束
其他编程语言操作mysql

Linux

#!/bin/sh
#mysql -uroot -p123456 -e "select * from shujia.student"
MYSQL="mysql -uroot -p123456"
sql="select * from shujia.student"
sql1="select * from shujia.score"
$MYSQL -e "$sql1"

Java

导入第三方工具包 file->project structure->Modules->Dependencies->+->JARs or dir...->选择包->apply

1.加载第三方工具

Class.forname("com.mysql.jdbc.Driver");

2.获取连接

String url="jdbc:mysql://master:3306/shujia";
String username="root";
String password="123456";
Connection connection = DriverManager.getConnection(url, username, password);

3.获取执行器 createStatement(会出现sql注入不使用)和prepareStatement

String sql="select * from user where username=? and password=?"
PreparedStatement ps = connection.prepareStatement(sql);//给sql的格式(模板)
ps.setString(1,"1012");
ps.setString(2,"test");

4.执行sql获取结果sql语句为增删改查操作,不需要解析结果,使用executeUpdate())

ResultSet rs = ps.executeQuery();
while (rs.next()){
    String name = rs.getString("name");
    System.out.println(name);
}

5.关闭连接(从下向上关闭)

rs.close();
ps.close();
conn.close();

注意

sql注入:参数中有mysql命令,而mysql把这些关键字当做命令去执行
prepareStatement:避免了sql注入,首先发送sql的格式,然后在传递参数(参数中有关键字也作为参数执行)
prepareStatement传参:通过set数据类型(int prepareIndex,数据类型 x)
注意:index从1开始
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/763748.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号