DAY21JDBC 与 MySQL 的学习笔记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DAY21JDBC 与 MySQL 的学习笔记相关的知识,希望对你有一定的参考价值。

Properties : 

----------------

1.extends Hashtable ,线程安全的。

2.key - value

SQL : Structurual query language,结构化查询语言。

-------------------------------------------------

database :

--------------

1.数据库

2.表的集合。

3.操作

1.增加

id   | name  | age 

-------------------

1    | tom   | 24

....


insert into table1 values(100,‘jerry‘,23);

insert into table1(id,name,age) values(100,‘jerry‘,23);

insert into table1(name,age,id) values(‘jerry‘,23,1000);

insert into table1(name) values(‘dick‘); //


2.删除

delete 

delete from students where name is null; //where 条件子句


3.更新

update

update students set name = ‘tomasLee‘,age=33,id=19 where id = 23;//


4.查询

select :选择

select * from table1 where name = ‘tom‘;

select * from table1 where name like ‘t%‘ or age = 12;

select * from students where age is null ; //查询是否为null的记录

select id,name from students where age is not null ; //查询是否为null的记录

select ... order by id asc | desc; //asc 升序 | desc 降序

select * //全字段扫描

select ... [no where] //全表扫描

select id,name from stus ; //选择若干字段进行查找,投影查询 project

select * from stus where ... limit 1,2 ; //1-offset,偏移量 , 2-length,长度,需要查询的记录数.

5.数据的CRUD : create | retrieve | update | delete

.

Table

--------------

1.二维。

2.行 : row,record,记录.

3.列 : field,字段.


RDBMS : relation database manage system.

---------------------------------------

1.结构化数据



JDBC:

---------------

        JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。


安装mysql

----------------

1....

2.custom安装

3.安装地址  C:\myprograms\MySQL Server 5.5\

4....

5.启动配置向导

6.detailed 

7.developer machine

8.multifunction database

9. ...next -> next

10. ...

11.选择默认字符集

手动选择字符集(第三个选项) --> utf8


. 12.创建安全设置

root密码:

启用远程主机访问。

13.选择执行

14.ok

15.验证mysql是否安装

1.控制面板 --> 管理工具 --> 服务  --> mysql --> 状态  == 已启动 --> ok

2.cmd --> services.msc --> 直接打开服务窗口


主键 : primary key

--------------------

1.唯一,不重复

2.不能为null

3.create table stus(id int ,...) primary key id ;


mysql常用操作

-------------------

1.操作1

mysql>show databases ; //显示有哪些数据库

information_schema //元数据信息

test //测试


mysql>use test;

mysql>show tables; //显示当前库中的所有表


2.DDL

database define language,数据库定义语言。

create database mybase ; //创建数据库

drop database mybase ; //删除数据库


//数据类型 int varchar(50)

create table stus(id int primary key,name varchar(50) , age int); //

drop table stus ; //删除表

desc[ribe] stus ; //查看表结构


3.DML : 数据操纵语言

select * from stus ; //查询

insert into stus values(1,‘tom‘,12);

4.



JDBC

---------------

1.java database connection,java数据库连接

//准备工作

2.下载驱动程序

mysql-connector-java-5.0.8.jar

3.添加驱动到classpath下。

创建lib文件夹

复制到lib下

添加到buildpath中。


//编程

4.注册驱动

5.建立连接

6.创建Statement(语句)

7.执行

8.处理结果.

9.释放资源。


事务

-------------------

1.transaction : 事务.

2.acid

a: atomic,原子性,不可分割。全成功、全失败。

c: consistent,一致性

i: isolate,隔离性

d: durable,永久性。

自动提交:commit.

事务操作:

----------

1.commit,

2.rollback.,

3.设置mysql client事务自动提交关闭

set autocommit = 0 ;

//启动事务

start transaction ;


4.


单元测试

-----------------

[email protected] junit


删除测试

----------------

1.delete from ... where id < 5 ;

2.delete from ... where id > 5 ;


mysql client下的事务操作

------------------------

1.关闭自动提交

set autocommmit = 0 ; //1 = true

2.开启事务

start transaction ;

3.提交事务

commit ;

4.回滚

rollback ;


ResultSet 

-------------------

1.*****字段索引以1为基址*****


SQL 

------------------

1.语法解析

2.语义解析


Statement

----------------

st.execute("insert into stus(id,name,age) values(1,‘‘,12)");



PreparedStatement

-----------------

1.预处理语句.

2.conn.preparedStatement("insert into stus(id,name,age) values(?,?,?)");

3.SQL注入

where name = ‘ 1‘ or ‘1‘ = ‘1         ‘ and password = ‘ xxx       ‘


以上是关于DAY21JDBC 与 MySQL 的学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

JDBC学习笔记 day1

day14_DBUtils学习笔记

python自动化学习笔记之DAY21

day13_Mysql事物与数据库连接池学习笔记

JDBC学习笔记——JDBC概述

DAY22MySQL的学习笔记