3682-刘同学-Java学科 扫二维码继续学习 二维码时效为半小时

(0评价)
价格: 免费

Statement:用于执行sql语句

    1、执行sql

          1.boolean execute(String sql)

         2、int exeuteUpdate(String sql):

    执行DML(insert、update、delete,增删改)语句、DDL(create ,alter,drop)语句

    *返回值 :影响的行的数,可以通过这个影响的行数判断DML的语句是否执行成功,返回值>0的则执行成功,反之,则失败

3、ResultSet exeuteQuery(String sql);执行DQL(select)的语句

 

[展开全文]

Connection :数据库连接对象

   代表着当前代码,与数据库之间的桥梁

1、功能:

     1、获取执行sql的对象

     * Statement createStatement()

     * PreparedStatement 

     

     2、管理事务

       *开启事务:setAutoCommit

        提交事务:commit()

        回滚事务:rollback()

[展开全文]

获取数据库的连接:

  *方法:static Connection getConnection(String url,String user,String password)

 *参数:

        *url: 指定的连接路径

           *语法:jdbc:mysql://ip地址(域名):端口号/数据库名称

          *例子:jdbc:mysql://localhost:3306/db3;

         *细节:如果连接是本机的mysql服务器,并且mysql服务默认端口是3306,则url可以简写为:

     jdbc:mysql//

 

        *user :用户名

       *password;密码

 

[展开全文]

jdbc中操作中

详解各个对象:

每一个步骤为什么这样写,有一个更深层次的了解

1.DriverManager:驱动管理对象

   *功能:

1。注册驱动:告诉

   static void registerDriver(Driver driver):注册与给定的驱动程序

写代码使用 Class.forname("com.mysql.jdbc.driver")

通过查看代码发现:在com.mysql.jbdc.Driver类中存在静态代码块

 

注意:mysql5之后的驱动jar包可以省略注册驱动的步骤

 2。获取数据库连接

 

 

2.Connection:数据库连接对象

 

3.Statement:执行SQL的对象

 

4.ResultSet:结果集对象

 

5.PreparedStatement:执行sql的对象

[展开全文]

 

 

快速入门:

 * 步骤:

      1.导入驱动jar包

      2.注册驱动

      3.获取数据库连接对象 Connection

     4 定义SQL (发给数据库,java来发给数据库)

     5 获取执行sql 语句的对象,Statement

     6 执行SQL,接受返回结果

     7 处理结果

     8 释放资源

    

[展开全文]

2、权限管理

   1、查询权限

 

   2、授予权限

            -- 授予权限

grant 权限列表 on 数据库 ,表名 to '用户名'@‘主机名’

 

一般授予用户所有权限,是一个很危险的事情

 

3、撤销权限:

revoke 权限列表

 

[展开全文]

修改用户密码

 

* mysql中忘记了密码?

   1、cmd -- > net stop mysql

          *需要管理员权限

  2、使用无验证方式启动mysql服务:

     mysql -- skip -grant -tables

  

[展开全文]

SQL分类:

 1、DDL :操作数据库和表

2、DML:增删改表中数据

3、DQL:查询表中数据

4、DCL:管理用户,授权

 

DCL 现在已经很少使用了

DBA:数据库管理员

DCL:管理用户,授权

1、管理用户

      1、添加用户

      2、删除用户

      3、修改用户密码

      4、查询用户

          -- 1。切换到mysql数据库

            USE mysql;

           -- 2. 查询user表

         select * from user;

         * 通配符: % 表示可以在任意主机

 

2、授权

[展开全文]

事务的隔离级别(了解)

概念:多个事务之间隔离的,相互独立的。但是如果多个事务操作同一批数据,则会引发一些问题,设置不同的隔离级别就可以解决这些问题。

存在的问题:

1、脏读:一个事务,读取到另一个事务中没有提交的数据

2、不可重复读(虚读):在同一个事务中,两次读取到的数据不一样。

3、幻读:一个事务操作(DML,增,删,改)数据表中所有记录,另一个事务添加了一条数据,则第一个事务查询不到自己的修改。

隔离级别:

 1. read umcommitted:读未提交

         产生的问题:脏读、不可重复读,幻读

2. read committed :读已提交

        产生的问题:不可重复读、幻读

3.repeatable read :可重复读

serializable:串行化

*可以解决所有的问题

注意:隔离级别从小到大安全性越来越高,但是效率越来越低

 

 

 

[展开全文]

事务的四大特征:

1、原子性:是不可分割的最小操作单位,要么同时成功,要么同时失败

 

2、持久性:哪怕机关了,重点了。当事务提交或回滚后,数据库会持久化的保存数据。

3、隔离性:多个事务之间。相互独立。

4、一致性:事务操作前后,数据总量不变

[展开全文]

MySQL数据库中事务默认自动提交

 *一条DML(增删改)语句自动提交一次事务

 

MySQL数据库中事务默认自动提交

* 事务提交的两种方式:

       *自动提交

            * MySQL就是自动提交的

* 手动提交:

         * 需要先开启事务,再提交

MySQL数

[展开全文]

1、事务的基本介绍

    1。概念:

         *如果一个包含多个步骤的业务操作,被事务管理,要么同时成功,要么同时失改

       * 如果一个包含多个步骤的业务操作,被事务管理,要么同时成功,要么同时失败

      *如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败

 

 

张三给李四转账500元

1、查询张三账户余额是否大于500

2、张三账户 金额 -500

如果第二步,出现了异常,代码要跳转,造成的影响是:张三账户的钱减了500,李四的账户的钱没有加上

3、李四账户 金额 +500

三个业务操作完成,如果三个步骤没有事物管理的话

如果三个步骤被事务管理了,

操作:对应三条sql语句

1、开启事务: start transaction

2、回滚:rollback;

3、提交:commit;

 

 

 

事务的四大特征(非常常见的面试题)

事务的隔离级别(了解)

[展开全文]

* 多表查询的练习

 

用专业的手法写SQL

[展开全文]

子结询的结果是多行多列

 

[展开全文]

*子查询的不同情况

1.子查询的结果是单行单列的;

   * 子查询可以作为条件,使用运算符去判断;

2.子查询的结果是多行单列的;

* 子查询的结果

3.子查询的结果是多行多列的;

 

[展开全文]

外链接查询:

 1。左外连接

  * 语法 :select 字段列表 from 表1 left 【outer】 join 表2 on 条件;

* 查询的是左表所有数据以及交集

2、右外连接

 

左表与右表是怎么看的呢?

 

g

[展开全文]

内连接查询:

   1。隐式内连接:使用where条件消除无用的数据

显示内连接

 *语法 select 字段列表 from 表名1 inner 

 

内连接查询:

 1.从哪些表中查询数据

2.条件是什么

3.查询哪些字段

 

 

[展开全文]

多表查询

查询语法:

   select

        列名列表

   笛卡尔积,有些数据是不需要的

多表查询,--清除无用的数据

笛卡尔积:

* 有两个集合A,B ,取这两个集合的所有组成情况。

*要完成多表查询,需s

多表查询的分类:

内连接查询:

外链接查询:

子查询:

 

[展开全文]

1.多表查询

2.事务

3.DCL  : DDL DML DQL DCL

 

[展开全文]