用Navicat连接数据库
说明:MySQL数据库管理系统实现对MySQL数据库的操作与管理(体现在Query中)
MySQL数据库是一个数据库软件,本质是一个文件系统,用于存放各种文件,但是没有直接的图像化操作界面,里边的数据的管理就要借助其他的软件。
Navicat Premium只是一个操作MySQL软件的图形化界面,首先在navicat中建立连接(Connection,创建一个新的数据库,双击实现连接),在keeper数据库中创建一个表tables,
语句是:
use test; //test是数据库,table是创建的表
create table uesr_info(
id char(36),
user_name varchar(12) unique,
password varchar(15)
)
//char与varchar的异同:都是存储字符串,用单引号,如果表中字段长度始终相同(例如身份证号和手机号)则使用char,否则使用varchar类型
//unique:则要求数据不允许重复
创建完成后可以使用SQL语句
/*添加语句*/
insert into userinfo (id,user_name,password) values('0b2d0ee2-0ddf-4061-bb2e-ce390b4c6960','tom','123456')
insert into userinfo (id,user_name,password) values('0b2d0ee2-0ddf-4061-bb2e-ce390b4c6960','jim','456')
insert into userinfo (id,user_name,password) values('0b2d0ee2-0ddf-4061-bb2e-ce390b4c6960','jom','456')
/*查询语句,*是通配符,会查出所有的信息*/
select * from userinfo where user_name='jim' and password='456'
/*删除语句*/
delete from userinfo where user_name='jom'
/*修改语句*/
update userinfo set id='2',user_name='lucy' where user_name='jim'
在JAVA中实现数据库的连接
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
try {
Class.forName("com.mysql.jdbc.Driver"); //1,加载驱动
Connection connection=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","root","root"); //2,实现连接,返回连接,连接到一个数据库对象。Connection是类,connection变量名。相当于Navicat中Connection 连接到数据库。
Statement statement=connection.createStatement(); //3,创建对象(new Query)。相当于Navicat软件中执行SQL语句的窗口
String sql="delete from user_info"; //4,要执行的删除操作
int affect=statement.executeUpdate(sql); //statement调用方法executeUpdate(),开始执行命令,相当于在query窗口执行sql语句
System.out.println(affect); //5,处理结果,输入受影响的行数。
} catch (Exception e) {
e.printStackTrace();
}
//try语句中的代码出现检查时异常,需捕获异常,由于异常种类较杂,所以直接使用Exception处理,语句执行完之后需要进行资源释放,不然会蚕食内存,因为操作数据库是向硬盘中存信息,数据库中信息不会消除。
finally { //6,释放资源过程:先关掉窗口,再关掉连接
try {
if(statement!=null) { //02,加if是防止出现控制针异常,如Class.forName("com.mysql.jdbc.Driver");此语句出现非检查时错误捕捉不到,try中的语句会终止执行.不加if时statement一定为null,会执行关闭资源的语句,因为根本没有启动所以会出错。加if后出现null就不关闭。
statement.close(); //01,单独的此语句会出错,需要捕捉异常
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(connection!=null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}