SQL常用命令
连接:mysql -u user -p passwd
;
创建库:CREATE DATABASE 数据库名
;
删除库:DROP DATABASE 数据库名
;
使用库:USE 数据库名
;
查看表:DESC 表名
;
创建表:CREATE TABLE 表名 (字段名1 字段类型 [default 默认值] [约束],字段名2 ....)
;
插入表:INSERT INTO 表名[字段1,字段2,...] VALUES(值1,值2,...)
;
删除记录:DELETE FROM 表名 where ....
;
修改记录:UPDATE 表名 SET 字段1=值1,字段2=值2.... where .....
;
查询记录:SELECT 字段1,字段2... FROM 表名
;
SELECT *FROM 表名 字段1 LIKE '%..%' LIMIT 0,5
;(%表示匹配任意数据,_表示一个字符,limit指定开始结束行)
DROP TABLE IF EXISTS `stu`;
CREATE TABLE `stu` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) default NULL,
`city` varchar(50) default NULL,
`number` int(11) default NULL,
`picture` varchar(500) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
INSERT INTO `stu` VALUES ('1', 'zhangsan', 'beijing', '001', '001.jpg');
JDBC主要类和接口
java.sql.DriverManager
:用于管理JDBC驱动程序;
java.sql.Connection
:用于建立与特定数据库的连接,一个连接即一个会话;
java.sql.Statement
:一个statement对象用于执行静态sql语句;
java.sql.PrepareStatement
:与statement相对应,创建一个可编译的sql语句对象,该对象可多次运行;
java.sql.ResultSet
:创建sql语句检索结果的结果集,完成对数据库的访问。
JAVA操作数据库
DriverManager静态方法:
-
public static Connection getConnection(String url,String user,String passwd)
返回Connection对象
Connection对象:
-
StateMent createStatement()
创建一个statemen对象 -
PrepareStatement prepareStatement(String sql)
创建一个prepareStatement对象,预处理sql语句
Statement对象:
-
int executeUpdate(String sql)
执行数据库更新,插入,删除等语句 -
ResultSet executeQuery(String sql)
执行数据库查询操作,返回结果集 -
close()
操作关闭
PreparedStatement对象:
-
int executeUpdate()
执行设置的预处理sql -
ResultSet executeQuery()
执行数据库查询操作,返回结果集 -
setInt(int parameterIndex, int x)
指定索引编号,设置整型内容 -
setString(int parameterIndex, String x)
指定索引编号,设置字符串内容 -
setFloat(int parameterIndex, Float x)
指定索引编号,设置浮点内容 -
setDate(int parameterIndex, Date x)
指定索引编号,设置日期内容
ResultSet对象:
-
boolean next()
将指针指向下一行 -
getInt(int columnIdex)
获取编号指定列的内容,整型 -
getInt(String columnName)
获取指定列的内容,整型 -
getFloat(int columnIdex)
获取编号指定列的内容,浮点型 -
getFloat(String columnName)
获取指定列的内容,浮点型 -
getString(int columnIdex)
获取编号指定列的内容,字符串 -
getString(String columnName)
获取指定列的内容,字符串 -
getDate(int columnIdex)
获取编号指定列的内容,日期 -
getDate(String columnName)
获取指定列的内容,日期
附上一段代码:
private static final String driver = "com.mysql.jdbc.Driver";// mysql驱动
private static final String url = "jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8";// 数据库url地址
private static final String username = "root";
private static final String password = "root";
private static final Connection con = null;//数据库连接
private static final PreparedStatement stmt = null;
private static final ResultSet rs = null;
// 静态代码块,加载驱动
static {
try {
Class.forName(driver);
} catch (Exception e) {
e.printStackTrace();
}
}
// 单例模式返回数据库连接对象
public static Connection getConnection() throws Exception {
if (con == null) {
con = DriverManager.getConnection(url, username, password);
return con;
}
return con;
}
String sqlQuery = "select * from stu;";// sql查询语句
stmt = con.prepareStatement(sqlQuery);
rs = stmt.executeQuery();// 读数据库,获取条目
String sqlInst = "INSERT INTO stu(name,passwd)"+" VALUES(?,?)" ;//sql插入语句
PreparedStatement ps = con.prepareStatement(sqlInst);//
for (int i = 0; i < 100; i++) // 定义个100次的循环,往表里插入一百条信息。
{
ps.setString(1, "boss" + i);
ps.setInt(2, i);
ps.executeUpdate();
}
欢迎访问我的主页