一.About Mysqlphp
1.Mysql 優勢 java
體積小、速度快、開放源碼、免費mysql
通常中小型網站的開發都選擇 MySQL ,最流行的關係型數據庫sql
LAMP / LNMP shell
Linux做爲操做系統數據庫
Apache或Nginx做爲 Web 服務器服務器
MySQL做爲數據庫oracle
PHP做爲服務器端腳本maven
都是免費或開放源碼軟件,不用花一分錢就能夠創建起一個穩定、免費的網站系統編輯器
2.登錄MySQL
登錄:mysql –h 主機名 -u 用戶名 –p
註銷:quit;
修改密碼:mysqladmin –uroot –p舊密碼 password 新密碼
3.可視化工具
phpMyAdmin、MySQL-Front、MySQL Workbench、Navicat等
4.sql語句
不區分大小寫
以分號結尾
註釋:
#註釋內容直到行尾
--註釋內容直到行尾
/*註釋內容*/
5.執行環境
Linux:mysql shell
Windows:Command Line Client
可視化工具的SQL 編輯器
6.where 條件
比較運算符:=、 >、 <、 >=、 <=、 !=、 <>
擴展運算符:is null、 is not null、 like、 in、 between
邏輯運算符:and、 or
函數:count、sum、avg、max、min
排序:order by
分組:group by
7.操做數據
insert into 表名 values (值1, 值2, ...);
insert into 表名 (列名1, 列名2, ... ) values (值1, 值2, ...);
查詢全部數據:
select 列名 from 表名;
查詢指定數據:
select 列名 from 表名 [where 條件];
查詢多個列:
select 列名1, 列名2 from 表名 [where 條件];
查詢全部列:
select * from 表名 [where 條件];
指定別名:
select 列名 as 別名 from 代表 [where 條件];
查詢惟一值:
select distinct 列名 from 表名;
二.示例代碼
1.maven依賴
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.0.2</version> </dependency>
2實例代碼
1 package com.my.connect; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.PreparedStatement; 6 import java.sql.ResultSet; 7 import java.sql.ResultSetMetaData; 8 import java.sql.SQLException; 9 /** 10 * 一個很是標準的鏈接Mysql數據庫的示例代碼 11 */ 12 public class ConnectDB { 13 14 public static void main(String[] args) { 15 // TODO Auto-generated method stub 16 Connection con = null;// 建立一個數據庫鏈接 17 PreparedStatement pre = null;// 建立預編譯語句對象,通常都是用這個而不用Statement 18 ResultSet result = null;// 建立一個結果集對象 19 ResultSetMetaData metaData = null;//建立一個表頭信息對象 20 try { 21 // 加載Mysql驅動程序 ,oracle的: Class.forName("oracle.jdbc.driver.OracleDriver"); 22 //不知道能夠打出Driver 看導入包的提示 23 Class.forName("com.mysql.jdbc.Driver"); 24 String url = "jdbc:mysql://localhost:3306/studata";//localhost 爲本級地址,studata爲數據庫名 25 String userName = "root"; 26 String password = "root"; 27 con = DriverManager.getConnection(url, userName, password);// 獲取鏈接 28 29 System.out.println("數據庫鏈接成功!"); 30 31 String sql = "select * from studata s where s.stuNo = ?";//預編譯語句,?表明參數 32 pre = con.prepareStatement(sql);// 實例化預編譯語句 33 pre.setInt(1, 10000);;// 設置參數,前面的1表示參數的索引,而不是表中列名的索引 34 result = pre.executeQuery();// 執行查詢,注意括號中不須要再加參數 35 metaData = result.getMetaData();//獲取表頭信息 36 while (result.next()) { 37 // 當結果集不爲空時 38 System.out.println(metaData.getColumnName(1) + " " + metaData.getColumnName(2)); 39 40 System.out.println(result.getString("stuNo") + " " + result.getString("stuName")); 41 } 42 43 } catch (Exception e) { 44 // TODO Auto-generated catch block 45 e.printStackTrace(); 46 } finally { 47 // 逐一將上面的幾個對象關閉,由於不關閉的話會影響性能、而且佔用資源 48 // 注意關閉的順序,最後使用的最早關閉 49 if (result != null) 50 try { 51 result.close(); 52 if (pre != null) 53 pre.close(); 54 if (con != null) 55 con.close(); 56 System.out.println("數據庫鏈接已關閉!"); 57 } catch (SQLException e) { 58 // TODO Auto-generated catch block 59 e.printStackTrace(); 60 } 61 62 } 63 64 } 65 66 }
3.運行結果
數據庫鏈接成功! stuNo stuName 10000 趙軍 數據庫鏈接已關閉!