通过JDBC驱动MySQL的简单应用
2010-08-27 10:26
471 查看
1 MySQL的基本命令
1.1连接数据库
Mysql
–u用户名 –p密码
1.2 查看全部的数据库
Show databases;
1.3 创建数据库
CREATE DATABASE
数据库名;
1.4使用数据库
USE
数据库名;
1.5 查看全部的表
SHOW TABLES;
1.6 创建一张表,其中id可以自动增张
CREATE TABLE student(
id INT
AUTO_INCREMENT PRIMARY KEY NOT NULL,
name VARCHAR(50)
NOT NULL,
age INT
NOT NULL,
birthday DATE
NOT NULL,
);
1.7 查看数据表结构
DESC
表名称;
1.8 插入数据
INSERT INTO student(name,age,birthday)VALUES(‘张三’,20,’1990-04-05’);
1.9 导入数据库
SOURCE 数据库名(包括绝对路径);
注:每条SQL语句后都要加“;”
。
手动启动MySQL的方法是:我的电脑(右键)->管理->服务和应用程序->服务->MySQL(右键)->启动;
停止的方法相同。
2.2 JDBC连接MySQL
首先应该明确MySQL的驱动程序,链接地址,连接用户,连接密码。其中,MySQL的驱动程序需要从网络上单独下载,然后通过添加jar包进行添加;链接地址是由各个数据库生产商单独提供的,所以需要单独记住。
具体操作如下:
3
注:1)PreparedStatement是Statement的接口的子接口,采用预处理方式完成。在Statement采用拼凑的SQL语句完成时,一旦出现了单引号之后,SQL语句拼凑出来的就是一个错误的,所以无法执行。在实际的开发中所有的人肯定不会使用Statement进行程序,而是用其子接口PreparedStatement进行开发。
2)pstmt=conn.prepareStatement(sql);之后一定要执行pstmt.executeUpdate();因为pstmt=conn.prepareStatement(sql);只是一个预处理操作,而pstmt.executeUpdate();是执行操作。如果不执pstmt.executeUpdate();就等于是只占座,而没有人去坐,是没有意义的。
3)因为在建student表时,其中id可以自动增张,所以在插入操作时,省略id。
4)注意对Date的操作,也可以是,赋值时写为:
try
{
java.util.Date date=
new
SimpleDateFormat("yyyy-mm-dd").parse("1980-02-15");
}
catch (ParseException e) {
e.printStackTrace();
}
处理时写为:
pstmt.setDate(3,new java.sql.Date(date.getTime()));
但应该注意的是前面的Date是java.util类里的,而后面的Date是java.sql类里的。
4
注:关闭的顺序和打开的顺序是相反的。
5
注:此删除操作是按照id删除的。
1.10修改数据字段
ALTER TABLE
表名 CHANGE
原列名 新列名
新列名属性;
1.1连接数据库
Mysql
–u用户名 –p密码
1.2 查看全部的数据库
Show databases;
1.3 创建数据库
CREATE DATABASE
数据库名;
1.4使用数据库
USE
数据库名;
1.5 查看全部的表
SHOW TABLES;
1.6 创建一张表,其中id可以自动增张
CREATE TABLE student(
id INT
AUTO_INCREMENT PRIMARY KEY NOT NULL,
name VARCHAR(50)
NOT NULL,
age INT
NOT NULL,
birthday DATE
NOT NULL,
);
1.7 查看数据表结构
DESC
表名称;
1.8 插入数据
INSERT INTO student(name,age,birthday)VALUES(‘张三’,20,’1990-04-05’);
1.9 导入数据库
SOURCE 数据库名(包括绝对路径);
注:每条SQL语句后都要加“;”
。
2使用JDBC连接MySQL
2.1启动MySQL手动启动MySQL的方法是:我的电脑(右键)->管理->服务和应用程序->服务->MySQL(右键)->启动;
停止的方法相同。
2.2 JDBC连接MySQL
首先应该明确MySQL的驱动程序,链接地址,连接用户,连接密码。其中,MySQL的驱动程序需要从网络上单独下载,然后通过添加jar包进行添加;链接地址是由各个数据库生产商单独提供的,所以需要单独记住。
具体操作如下:
//驱动程序 public static final String DBDRIVER="org.gjt.mm.mysql.Driver"; //链接地址, 3306为MySQL的默认端口号 public static final String DBURL="jdbc:mysql://localhost:3306/数据库名"; //连接数据库的用户名,root为默认用户 public static final String DBUSER="root"; //连接数据库的密码 public static final String DBPASS="密码"; public static void main(String []args){ //表示数据库的连接对象 Connection conn=null; //使用Class类加载驱动程序 Class.forName(DBDRIVER); //连接数据库 conn= DriverManager.getConnection(DBURL,DBUSER,DBPASS); /*对数据库的操作*/ //关闭数据库 conn.close(); }
3
完成插入操作
import java.sql.DriverManager; import java.sql.SQLException; import com.mysql.jdbc.Connection; public class JDBCMySQLINSERT { public static final String DBDRIVER="org.gjt.mm.mysql.Driver"; public static final String DBURL="jdbc:mysql://localhost:3306/数据库名"; public static final String DBUSER="root"; public static final String DBPASS="密码"; public static void main(String []args){ Connection conn=null;//表示数据库的连接对象 java.sql.PreparedStatement pstmt=null;//表示数据库的更新操作 String name="李四"; int age=19; String date="1991-02-05"; String sql="INSERT INTO student(name,age,birthday)VALUES(?,?,?)"; System.out.println(sql); //1,使用Class类加载驱动程序 try { Class.forName(DBDRIVER); } catch (ClassNotFoundException e) { e.printStackTrace(); } try { //2,连接数据库 conn=(Connection)DriverManager.getConnection(DBURL,DBUSER,DBPASS); //3,PreparedStatement接口需要通过Connection接口进行实例化操作 pstmt=conn.prepareStatement(sql);//使用预处理方式 pstmt.setString(1,name);//第一个?的内容 pstmt.setInt(2, age);//第二个?的内容 pstmt.setDate(3,java.sql.Date.valueOf(date)); //执行SQL语句,更新数据库 pstmt.executeUpdate(); //4,关闭数据库 pstmt.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } } }
注:1)PreparedStatement是Statement的接口的子接口,采用预处理方式完成。在Statement采用拼凑的SQL语句完成时,一旦出现了单引号之后,SQL语句拼凑出来的就是一个错误的,所以无法执行。在实际的开发中所有的人肯定不会使用Statement进行程序,而是用其子接口PreparedStatement进行开发。
2)pstmt=conn.prepareStatement(sql);之后一定要执行pstmt.executeUpdate();因为pstmt=conn.prepareStatement(sql);只是一个预处理操作,而pstmt.executeUpdate();是执行操作。如果不执pstmt.executeUpdate();就等于是只占座,而没有人去坐,是没有意义的。
3)因为在建student表时,其中id可以自动增张,所以在插入操作时,省略id。
4)注意对Date的操作,也可以是,赋值时写为:
try
{
java.util.Date date=
new
SimpleDateFormat("yyyy-mm-dd").parse("1980-02-15");
}
catch (ParseException e) {
e.printStackTrace();
}
处理时写为:
pstmt.setDate(3,new java.sql.Date(date.getTime()));
但应该注意的是前面的Date是java.util类里的,而后面的Date是java.sql类里的。
4
完成查询操作
import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Date; import com.mysql.jdbc.Connection; public class JDBCMySQLSELECT { public static final String DBDRIVER="org.gjt.mm.mysql.Driver"; public static final String DBURL="jdbc:mysql://localhost:3306/数据库名"; public static final String DBUSER="root"; public static final String DBPASS="密码"; public static void main(String []args){ Connection conn=null; java.sql.PreparedStatement pstmt=null; ResultSet result=null; //表示接收数据库的查询结果 String sql="SELECT id,name,age,birthday FROM student"; try { Class.forName(DBDRIVER); } catch (ClassNotFoundException e) { e.printStackTrace(); } try { conn=(Connection) DriverManager.getConnection(DBURL, DBUSER, DBPASS); pstmt=conn.prepareStatement(sql); /*在此 PreparedStatement 对象中执行 SQL 查询,并返回该查询生成的 ResultSet 对象。*/ result=pstmt.executeQuery(); while(result.next()) { int id=result.getInt("id"); String name=result.getString("name"); int age=result.getInt("age"); Date birthday=result.getDate("birthday"); System.out.print("id="+id+";"); System.out.print("name="+name+";"); System.out.print("age="+age+";"); System.out.println("birthday="+birthday+";"); } result.close(); pstmt.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } } }
注:关闭的顺序和打开的顺序是相反的。
5
完成删除操作
import java.sql.DriverManager; import java.sql.SQLException; import com.mysql.jdbc.Connection; public class JDBCMySQLDELETE { public static final String DBDRIVER="org.gjt.mm.mysql.Driver"; public static final String DBURL="jdbc:mysql://localhost:3306/数据库名"; public static final String DBUSER="root"; public static final String DBPASS="密码"; public static void main(String []args){ Connection conn=null; java.sql.PreparedStatement pstmt=null; String sql="DELETE FROM student WHERE id=3"; try { Class.forName(DBDRIVER); } catch (ClassNotFoundException e) { e.printStackTrace(); } try { conn=(Connection) DriverManager.getConnection(DBURL, DBUSER, DBPASS); pstmt=conn.prepareStatement(sql); pstmt.executeUpdate(); pstmt.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } }
注:此删除操作是按照id删除的。
1.10修改数据字段
ALTER TABLE
表名 CHANGE
原列名 新列名
新列名属性;
相关文章推荐
- Java 通过 JDBC 连接 MySQL 数据库的简单示例
- 通过JDBC进行简单的增删改查(以MySQL为例)
- 通过JDBC进行简单的增删改查(以MySQL为例)
- 通过JDBC进行简单的增删改查(以MySQL为例)
- 通过JDBC进行简单的增删改查(以MySQL为例)
- 简单的JDBC应用,java连接 MYsql;
- 通过JDBC进行简单的增删改查(以MySQL为例)
- 通过JDBC进行简单的增删改查(以MySQL为例)
- 【J2EE核心开发学习笔记001】通过JDBC进行简单的增删改查(以MySQL为例)
- 通过JDBC进行简单的增删改查(以MySQL为例)
- 通过JDBC进行简单的增删改查(以mysql为例)
- jsp通过jdbc驱动与mysql连接
- 通过JDBC进行简单的增删改查(以MySQL为例)
- 通过JDBC进行简单的增删改查(以MySQL为例)
- JDBC应用:jdbc程序访问mysql如何加载jdbc驱动
- 详解通过JDBC进行简单的增删改查(以MySQL为例)
- Java通过JDBC进行简单的增删改查(以MySQL为例)
- 通过JDBC进行简单的增删改查(以MySQL为例)
- 通过JDBC进行简单的增删改查(以MySQL为例)
- 通过JDBC进行简单的增删改查(以MySQL为例)