SQL常用命令
連接:mysql -u user -p passwd;
創(chuàng)建庫(kù):CREATE DATABASE 數(shù)據(jù)庫(kù)名;
刪除庫(kù):DROP DATABASE 數(shù)據(jù)庫(kù)名;
使用庫(kù):USE 數(shù)據(jù)庫(kù)名;
查看表:DESC 表名;
創(chuàng)建表:CREATE TABLE 表名 (字段名1 字段類(lèi)型 [default 默認(rèn)值] [約束],字段名2 ....);
插入表:INSERT INTO 表名[字段1,字段2,...] VALUES(值1,值2,...);
刪除記錄:DELETE FROM 表名 where ....;
修改記錄:UPDATE 表名 SET 字段1=值1,字段2=值2.... where .....;
查詢(xún)記錄:SELECT 字段1,字段2... FROM 表名;
SELECT *FROM 表名 字段1 LIKE '%..%' LIMIT 0,5;(%表示匹配任意數(shù)據(jù),_表示一個(gè)字符,limit指定開(kāi)始結(jié)束行)
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主要類(lèi)和接口
java.sql.DriverManager:用于管理JDBC驅(qū)動(dòng)程序;
java.sql.Connection:用于建立與特定數(shù)據(jù)庫(kù)的連接,一個(gè)連接即一個(gè)會(huì)話;
java.sql.Statement:一個(gè)statement對(duì)象用于執(zhí)行靜態(tài)sql語(yǔ)句;
java.sql.PrepareStatement:與statement相對(duì)應(yīng),創(chuàng)建一個(gè)可編譯的sql語(yǔ)句對(duì)象,該對(duì)象可多次運(yùn)行;
java.sql.ResultSet:創(chuàng)建sql語(yǔ)句檢索結(jié)果的結(jié)果集,完成對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)。
JAVA操作數(shù)據(jù)庫(kù)
DriverManager靜態(tài)方法:
-
public static Connection getConnection(String url,String user,String passwd)返回Connection對(duì)象
Connection對(duì)象:
-
StateMent createStatement()創(chuàng)建一個(gè)statemen對(duì)象 -
PrepareStatement prepareStatement(String sql)創(chuàng)建一個(gè)prepareStatement對(duì)象,預(yù)處理sql語(yǔ)句
Statement對(duì)象:
-
int executeUpdate(String sql)執(zhí)行數(shù)據(jù)庫(kù)更新,插入,刪除等語(yǔ)句 -
ResultSet executeQuery(String sql)執(zhí)行數(shù)據(jù)庫(kù)查詢(xún)操作,返回結(jié)果集 -
close()操作關(guān)閉
PreparedStatement對(duì)象:
-
int executeUpdate()執(zhí)行設(shè)置的預(yù)處理sql -
ResultSet executeQuery()執(zhí)行數(shù)據(jù)庫(kù)查詢(xún)操作,返回結(jié)果集 -
setInt(int parameterIndex, int x)指定索引編號(hào),設(shè)置整型內(nèi)容 -
setString(int parameterIndex, String x)指定索引編號(hào),設(shè)置字符串內(nèi)容 -
setFloat(int parameterIndex, Float x)指定索引編號(hào),設(shè)置浮點(diǎn)內(nèi)容 -
setDate(int parameterIndex, Date x)指定索引編號(hào),設(shè)置日期內(nèi)容
ResultSet對(duì)象:
-
boolean next()將指針指向下一行 -
getInt(int columnIdex)獲取編號(hào)指定列的內(nèi)容,整型 -
getInt(String columnName)獲取指定列的內(nèi)容,整型 -
getFloat(int columnIdex)獲取編號(hào)指定列的內(nèi)容,浮點(diǎn)型 -
getFloat(String columnName)獲取指定列的內(nèi)容,浮點(diǎn)型 -
getString(int columnIdex)獲取編號(hào)指定列的內(nèi)容,字符串 -
getString(String columnName)獲取指定列的內(nèi)容,字符串 -
getDate(int columnIdex)獲取編號(hào)指定列的內(nèi)容,日期 -
getDate(String columnName)獲取指定列的內(nèi)容,日期
附上一段代碼:
private static final String driver = "com.mysql.jdbc.Driver";// mysql驅(qū)動(dòng)
private static final String url = "jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8";// 數(shù)據(jù)庫(kù)url地址
private static final String username = "root";
private static final String password = "root";
private static final Connection con = null;//數(shù)據(jù)庫(kù)連接
private static final PreparedStatement stmt = null;
private static final ResultSet rs = null;
// 靜態(tài)代碼塊,加載驅(qū)動(dòng)
static {
try {
Class.forName(driver);
} catch (Exception e) {
e.printStackTrace();
}
}
// 單例模式返回?cái)?shù)據(jù)庫(kù)連接對(duì)象
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查詢(xún)語(yǔ)句
stmt = con.prepareStatement(sqlQuery);
rs = stmt.executeQuery();// 讀數(shù)據(jù)庫(kù),獲取條目
String sqlInst = "INSERT INTO stu(name,passwd)"+" VALUES(?,?)" ;//sql插入語(yǔ)句
PreparedStatement ps = con.prepareStatement(sqlInst);//
for (int i = 0; i < 100; i++) // 定義個(gè)100次的循環(huán),往表里插入一百條信息。
{
ps.setString(1, "boss" + i);
ps.setInt(2, i);
ps.executeUpdate();
}
歡迎訪問(wèn)我的主頁(yè)