数据库实例
- 从应用来看:数据库系统软件——创建数据库实例——操作数据库表——操作数据
- 实例是“内存”和“后台进程”的集合。数据库是数据的物理存储。特别注意,一个实例可以用于一个数据库,多个实例也可以同时用于一个数据库,实例和数据库的关系是一对多的关系。
表
- char和varchar
Varchar往往用来保存可变长度的字符串。
char采用的是固定长度的存储方式。
简单操作
- SQL语句
use test ###指定操作的实例
###添加
INSERT into `first`(id,name,address) VALUES('67890456789','tom','瑞丰锦园')
INSERT into `first`(id,name,address) VALUES('67890456089','toy','永丰家园')
###查询
SELECT id FROM `first`
###删除
DELETE FROM `first`###删除所有数据
DELETE FROM `first` WHERE id='67890456089'
###修改
UPDATE `first` set name ='tim'### 所有
UPDATE `first` set name ='tim' WHERE id='67890456089'###定位
- JDBC
A. executeUpdate(sql)//用于增删改
public static boolean function(String sql) {
Connection connection = null;
Statement statement = null;
try {//try代码块中若第n行代码发生异常,则第n+1行代码不会被执行,直接跳到catch代码块
Class.forName("com.mysql.jdbc.Driver");
//加载驱动
String url="jdbc:mysql://localhost:3306/test";//获取数据库连接(指定哪一台计算机 /IP地址/的哪一实例/实例名/)
connection = DriverManager.getConnection(url, "root", "root");
//指定的实例,账户名,账户密码
statement = connection.createStatement();
int result = statement.executeUpdate(sql);//sql操作语句
return result>0;
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
if(connection!=null) {//防止空指针(防止异常发生在 connection赋值语句之前)
connection.close();//释放
//由于try语句的特性,两个close语句不能放在一个try-catch代码块中,避免上一句出现异常,下一句不被执行
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(statement!=null) {
statement.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return false;
}
B.executeQuery(sql)//用于查询
ResultSet resultset = statement.executeQuery("SELECT id FROM `first`");
while(resultset.next()) {//next的返回值是Boolean,读完一行,指针会移动到下一行
System.out.println(resultset.getString("id"));
}