1.MySQL
1.1 MySQL簡介
a)MySQL是一個開源免費的關系型數據庫管理系統。
b)默認用戶:root
c)默認端口號:3306
2.MySQL常用命令
2.1連接MySQL
mysql -uroot -p (注意此處沒有分號哦;)
2.2查看當前所有得到數據庫
show databases;
2.3創建數據庫
create database + 數據庫名;
2.4使用(切換)數據庫
use 數據庫名;
2.5查看當前數據庫的所有表
show tables;
2.6 退出當前MySQL數據庫
exit;
3.MySQL 與 Oracle 的不同之處
3.1數據類型
3.1.1
a)整數類型
>smallint, 2字節
>int, 4字節
>Integer,int的同義詞
>bigint, 8字節
b)浮點數
>float, 4字節
>double, 8字節
3.1.2字符類型
a) char, 不可變長度
b) varchar, 可變長度
3.1.3日期時間類型
a)date, yyyy-mm-dd
b)datetime, yyyy-mm-dd hh:mi:ss
c)time, hh:mi:ss
d)timestamp, 更精確的時間
e)year, yyyy
3.1.4其他類型
a) blob, 存放二進制文件
b) text, 存放大量文本信息
3.2 SQL語句上的區別
Oracle中的語法是delete[from],from可以省略,但是在MySQL中,不能省略from;
3.2.2 關於外鏈接
MySQL中不能使用Oracle數據庫中的SQL92中的“(+)”符號,所以在外鏈接時,應該使用SQL99的語法。
3.2.3 分頁查詢
MySQL分頁需要使用limit關鍵字,limit后需要跟兩個數字,第一個數字表示查詢的起始位置,第二個數字表示查詢的記錄數。(limit要寫在order by之后。)
--當前頁數 page
--每頁顯示的記錄數 size
select * from clazz limit (page-1)*size,size;
4. JDBC
4.1 JDBC 簡介
a)Java Database Connectivity, java數據庫連接。
b)SUN公司提供的一套標准,是一種用於執行SQL語句的 Java API;
>DriverManager(C),管理驅動
>Connection(I),數據庫連接
>Statement(I),SQL語句發送器
>ResultSet(I),結果集
4.2 JDBC鏈接數據的步驟
a)注冊驅動
b)建立數據庫連接(Connection)
c)准備SQL語句
d)獲取SQL語句發送器(Statement)
e)發送並執行SQL語句,得到結果集(ResultSet)
f) 處理結果集
g)關閉資源(ResultSet,Statement,Connection)
4.3執行查詢操作
package com.bjsxt.jdbc1;
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestJdbcQuery {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//1.聲明鏈接參數
String url = "jdbc:oracle:thin:@localhost:1521:orcl";//數據庫的路徑
String user = "scott";
String password = "tiger";
//2.注冊驅動
Class.forName("oracle.jdbc.driver.OracleDriver");
//3.建立數據庫連接,需要用到驅動管理器
Connection con = DriverManager.getConnection(url, user, password);
//4.定義SQL語句
String sql = "select empno, ename, hiredate from emp";
//5.創建sql發送器,是由鏈接對象創建的
Statement stmt = con.createStatement();
//6.發送並執行sql語句,得到結果集
ResultSet rs = stmt.executeQuery(sql);
//7.處理結果集
while(rs.next()) {
//取出該行的每一列數據,依據數據類型取值;
int empno = rs.getInt(1);//數據庫索引從1開始
String ename = rs.getString("ename");
Date hiredate = rs.getDate(3);
System.out.println(empno+"\t"+ename+"\t"+hiredate.toLocaleString());
}
//8.關閉資源,先開的后關
rs.close();
stmt.close();
con.close();
}
}