8系列資料庫訪問
mysql,sqlserver,oracle,access等等,這些都是很有名的,
但是再用的時候一般根據所用的編程語言選擇使用的資料庫,
比如mysql開源的,和php結合比較好。
sqlserver是微軟的,和.net之類配合使用較好。
oracle一般大型項目使用較多
❷ java連接資料庫mysql代碼及簡單訪問資料庫
import java.sql.*;
//封裝資料庫對象,使用javaBean;
public class DB {
public static Connection getConnection() {
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/db?user=root&password=root";
Connection conn = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static Statement createStatement(Connection conn) {
Statement stmt = null;
try {
stmt = conn.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
return stmt;
}
public static ResultSet executeQuery(Statement stmt, String sql) {
ResultSet rs = null;
try {
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
public static int executeUpdate(Connection conn, String sql) {
int row = 0;
Statement stmt = null;
try {
stmt = conn.createStatement();
row = stmt.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
// close();
close(stmt);
}
return row;
}
public static PreparedStatement prepareStatement(Connection conn, String sql) {
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return pstmt;
}
public static PreparedStatement prepareStatement(Connection conn,
String sql, int autoGeneratedKeys) {
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(sql, autoGeneratedKeys);
} catch (SQLException e) {
e.printStackTrace();
}
return pstmt;
}
public static void close(PreparedStatement pstmt) {//可以使用close(Statement stmt)方法,父類引用指向子類對象;
if (null != pstmt) {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
pstmt = null;
}
public static void close(Statement stmt) {
if (null != stmt) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
stmt = null;
}
public static void close(ResultSet rs) {
if (null != rs) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
rs = null;
}
public static void close(Connection conn) {
if (null != conn) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
conn = null;
}
}
//////////////////
<%
String title = request.getParameter("title");
String context = request.getParameter("context");
//System.out.println(int_id+"-"+title+"-"+context);
//Connection conn = DB.getConnection();
boolean defaultAutoCommit = conn.getAutoCommit();
conn.setAutoCommit(false);
//String _sql = "update article set title = ?,cont = ?,pdate = now() where id = ?";
String _sql = "update article set title = ?,cont = ? where id = ?";
PreparedStatement pstmt = DB.prepareStatement(conn, _sql);
pstmt.setString(1, title);
pstmt.setString(2, context);
pstmt.setInt(3, int_id);
pstmt.executeUpdate();
conn.commit();
conn.setAutoCommit(defaultAutoCommit);
DB.close(pstmt);
DB.close(conn);
response.sendRedirect(url);
%>
❸ laravel8 為什麼訪問不了本地資料庫啊
本地查看.env配置
❹ 訪問資料庫的方式有哪些啊
在ASP中可以通過三種方式訪問資料庫:
1、IDC(Internet Database Connector)方式;
2、ADO(ActiveX Data Objects)方式;
3、RDS(Remote Data Service)方式。
這三種訪問方式對資料庫的訪問都是由Internet Information Server完成的。通過Web瀏覽器用HTTP協議向IIS(Internet信息伺服器)發送請求,IIS執行對資料庫的訪問,並返回一個HTML格式的文檔響應
❺ 資料庫如何訪問
關於如果訪問的問題分3步吧
1.贈送方應該告訴你放置你資料庫的伺服器地址,以及資料庫的用戶名和密碼,不過一般用戶名和密碼是你提供給贈送方,他們幫你設置好的。
2.你本地裝有MYSQL和MSSQL資料庫。
3.對本地資料庫進行訪問遠程資料庫的設置。
最後一步要自己具體操作的。
一般來說資料庫的伺服器和網站的伺服器是分開的,你說的自行建立文件夾當作資料庫我不太明白你到底是什麼意思,如果你用的是access資料庫,就可以方便地在本地建立。
❻ Win10Win8訪問資料庫超級慢
1.關閉家庭組,因為這功能會導致硬碟和CPU處於高負荷狀態
關閉方法:Win+C – 設置 – 更改電腦設置 – 家庭組 – 離開
如果用不到家庭組可以直接把家庭組服務也給關閉了:控制面板 – 管理工具 – 服務 – HomeGroup Listener 和 HomeGroup Provider 禁用
10個Win8優化技巧解決win8速度慢
2.關閉Windows Defender 全盤掃描系統,否則打開文件夾會卡頓。
然後可以排除信任的EXE程序,建議排除explorer.exe(資源管理器進程),如果你不用系統自帶的殺毒軟體,也可以直接關閉它。
Win+X – 控制面板 – Windows Defender – 設置 – 實施保護 -去掉勾 和 管理員 – 啟用 Windows Defender – 去掉勾。
控制面板 – 管理工具 – 服務 - Windows Defender Service 禁用。
10個Win8優化技巧解決win8速度慢
3.用好索引選項,減少硬碟壓力。
控制面板 – 索引選項 – 選中索引項 – 修改 – 取消不想索引的位置。(索引服務對系統性能的影響)
如果習慣用 everything 這款神器來搜索文件,可以關閉索引功能。控制面板 – 管理工具 – 服務 - Windows Search 禁用。
4.關閉磁碟碎片整理計劃
用好磁碟碎片整理可以提高磁碟性能,如果習慣手動整理,可以關閉整理計劃,避免在你工作的時候自動整理,影響性能。
資源管理器,選中磁碟 - 屬性 – 工具 – 對驅動器進行優化和碎片整理 – 優化 – 更改設置 – 取消選擇按計劃運行
10個Win8優化技巧解決win8速度慢
5.設置好Superfetch服務
控制面板 – 管理工具 – 服務 – Superfetch - 啟動類型 – 自動(延遲啟動),可以避免剛啟動好Win8對硬碟的頻繁訪問。
10個Win8優化技巧解決win8速度慢
6.如果覆蓋或者升級安裝Win8,需要清理產生的Windows.old文件夾,騰出C盤空間。
方法1:快捷鍵Win+X - 命令提示符 – 輸入 rd X:windows.old /s (X代表盤符)
方法2(推薦):C盤 – 右鍵 – 屬性 - 磁碟清理 - 選中 以前的 Windows 安裝 復選框 – 確定清理。
7.設置Win8 自動登陸,省去輸入密碼步驟,開機更快
快捷鍵Win+R – 輸入 netplwiz - 取消使用計算機必須輸入用戶名和密碼的選項 – 然後雙擊需要自動登錄的賬戶 – 輸入你的密碼。
8.關閉ipv6
部分網卡驅動開啟 ipv6會導致開機系統未響應,假死。如果你不是ipv6用戶建議關閉,否則就更新網卡驅動試試看。
網路共享中心 – 網路連接 – 乙太網 – 屬性 – 取消 ipv6 。
10個Win8優化技巧解決win8速度慢
9.開啟Hybrid Boot
Win8啟動飛快 。默認是啟動的,如果沒有啟動,可以到控制面板 – 電源選項 – 選擇電源按鈕的功能 – 更改當前不可用的設置 – 關機設置 – 勾上啟用快速啟動。
如果沒有看到這功能,請先開啟休眠:Win+X – 命令提示符 – 輸入 powercfg -h on
10.關閉性能特效
系統屬性 – 高級 - 性能 - 設置 – 關閉淡出淡入效果。打開文件夾,小軟體之類的,唰唰的快!反正Win8都反璞歸真,取消了Aero磨砂效果,不在乎這點特效了,直接關閉吧。
❼ 如何使用python連接資料庫,插入並查詢數據
你可以訪問Python資料庫介面及API查看詳細的支持資料庫列表。不同的資料庫你需要下載不同的DB API模塊,例如你需要訪問Oracle資料庫和Mysql數據,你需要下載Oracle和MySQL資料庫模塊。
DB-API 是一個規范. 它定義了一系列必須的對象和資料庫存取方式, 以便為各種各樣的底層資料庫系統和多種多樣的資料庫介面程序提供一致的訪問介面 。
Python的DB-API,為大多數的資料庫實現了介面,使用它連接各資料庫後,就可以用相同的方式操作各資料庫。
Python DB-API使用流程:
引入 API 模塊。
獲取與資料庫的連接。
執行SQL語句和存儲過程。
關閉資料庫連接。
什麼是MySQLdb?
MySQLdb 是用於Python鏈接Mysql資料庫的介面,它實現了 Python 資料庫 API 規范 V2.0,基於 MySQL C API 上建立的。
如何安裝MySQLdb?
為了用DB-API編寫MySQL腳本,必須確保已經安裝了MySQL。復制以下代碼,並執行:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
如果執行後的輸出結果如下所示,意味著你沒有安裝 MySQLdb 模塊:
Traceback (most recent call last):
File "test.py", line 3, in <mole>
import MySQLdb
ImportError: No mole named MySQLdb
安裝MySQLdb,請訪問 ,(Linux平台可以訪問:)從這里可選擇適合您的平台的安裝包,分為預編譯的二進制文件和源代碼安裝包。
如果您選擇二進制文件發行版本的話,安裝過程基本安裝提示即可完成。如果從源代碼進行安裝的話,則需要切換到MySQLdb發行版本的頂級目錄,並鍵入下列命令:
$ gunzip MySQL-python-1.2.2.tar.gz
$ tar -xvf MySQL-python-1.2.2.tar
$ cd MySQL-python-1.2.2
$ python setup.py build
$ python setup.py install
注意:請確保您有root許可權來安裝上述模塊。
資料庫連接
連接資料庫前,請先確認以下事項:
您已經創建了資料庫 TESTDB.
在TESTDB資料庫中您已經創建了表 EMPLOYEE
EMPLOYEE表欄位為 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。
連接資料庫TESTDB使用的用戶名為 "testuser" ,密碼為 "test123",你可以可以自己設定或者直接使用root用戶名及其密碼,Mysql資料庫用戶授權請使用Grant命令。
在你的機子上已經安裝了 Python MySQLdb 模塊。
如果您對sql語句不熟悉,可以訪問我們的 SQL基礎教程
實例:
以下實例鏈接Mysql的TESTDB資料庫:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
# 打開資料庫連接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
# 使用execute方法執行SQL語句
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法獲取一條資料庫。
data = cursor.fetchone()
print "Database version : %s " % data
# 關閉資料庫連接
db.close()
執行以上腳本輸出結果如下:
Database version : 5.0.45
創建資料庫表
如果資料庫連接存在我們可以使用execute()方法來為資料庫創建表,如下所示創建表EMPLOYEE:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
# 打開資料庫連接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
# 如果數據表已經存在使用 execute() 方法刪除表。
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
# 創建數據表SQL語句
sql = """CREATE TABLE EMPLOYEE (
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT )"""
cursor.execute(sql)
# 關閉資料庫連接
db.close()
資料庫插入操作
以下實例使用執行 SQL INSERT 語句向表 EMPLOYEE 插入記錄:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
# 打開資料庫連接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
# SQL 插入語句
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
LAST_NAME, AGE, SEX, INCOME)
VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
try:
# 執行sql語句
cursor.execute(sql)
# 提交到資料庫執行
db.commit()
except:
# Rollback in case there is any error
db.rollback()
# 關閉資料庫連接
db.close()
以上例子也可以寫成如下形式:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
# 打開資料庫連接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
# SQL 插入語句
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \
LAST_NAME, AGE, SEX, INCOME) \
VALUES ('%s', '%s', '%d', '%c', '%d' )" % \
('Mac', 'Mohan', 20, 'M', 2000)
try:
# 執行sql語句
cursor.execute(sql)
# 提交到資料庫執行
db.commit()
except:
# 發生錯誤時回滾
db.rollback()
# 關閉資料庫連接
db.close()
實例:
以下代碼使用變數向SQL語句中傳遞參數:
..................................
user_id = "test123"
password = "password"
con.execute('insert into Login values("%s", "%s")' % \
(user_id, password))
..................................
資料庫查詢操作
Python查詢Mysql使用 fetchone() 方法獲取單條數據, 使用fetchall() 方法獲取多條數據。
fetchone(): 該方法獲取下一個查詢結果集。結果集是一個對象
fetchall():接收全部的返回結果行.
rowcount: 這是一個只讀屬性,並返回執行execute()方法後影響的行數。
實例:
查詢EMPLOYEE表中salary(工資)欄位大於1000的所有數據:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
# 打開資料庫連接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
# SQL 查詢語句
sql = "SELECT * FROM EMPLOYEE \
WHERE INCOME > '%d'" % (1000)
try:
# 執行SQL語句
cursor.execute(sql)
# 獲取所有記錄列表
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
income = row[4]
# 列印結果
print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \
(fname, lname, age, sex, income )
except:
print "Error: unable to fecth data"
# 關閉資料庫連接
db.close()
以上腳本執行結果如下:
fname=Mac, lname=Mohan, age=20, sex=M, income=2000
資料庫更新操作
更新操作用於更新數據表的的數據,以下實例將 TESTDB表中的 SEX 欄位全部修改為 'M',AGE 欄位遞增1:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
# 打開資料庫連接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
# SQL 更新語句
sql = "UPDATE EMPLOYEE SET AGE = AGE + 1
WHERE SEX = '%c'" % ('M')
try:
# 執行SQL語句
cursor.execute(sql)
# 提交到資料庫執行
db.commit()
except:
# 發生錯誤時回滾
db.rollback()
# 關閉資料庫連接
db.close()
刪除操作
刪除操作用於刪除數據表中的數據,以下實例演示了刪除數據表 EMPLOYEE 中 AGE 大於 20 的所有數據:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
# 打開資料庫連接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
# SQL 刪除語句
sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)
try:
# 執行SQL語句
cursor.execute(sql)
# 提交修改
db.commit()
except:
# 發生錯誤時回滾
db.rollback()
# 關閉連接
db.close()
執行事務
事務機制可以確保數據一致性。
事務應該具有4個屬性:原子性、一致性、隔離性、持久性。這四個屬性通常稱為ACID特性。
原子性(atomicity)。一個事務是一個不可分割的工作單位,事務中包括的諸操作要麼都做,要麼都不做。
一致性(consistency)。事務必須是使資料庫從一個一致性狀態變到另一個一致性狀態。一致性與原子性是密切相關的。
隔離性(isolation)。一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用的數據對並發的其他事務是隔離的,並發執行的各個事務之間不能互相干擾。
持久性(rability)。持續性也稱永久性(permanence),指一個事務一旦提交,它對資料庫中數據的改變就應該是永久性的。接下來的其他操作或故障不應該對其有任何影響。
Python DB API 2.0 的事務提供了兩個方法 commit 或 rollback。
❽ win8系統 iis7主網站資料庫是oracle,啟用32位應用程序設置為false才能訪問
開始,控制面板,電源選項,點有點的那項的更改計劃設置,使計算機進入睡眠狀態,兩個都選從不。 電源選項從任務欄的電源圖標右鍵也有