linux資料庫操作
我用的是redhat
linux,用下面的步驟來啟動oracle資料庫。
首先使用oracle用戶登錄linux,然後在shell命令行中執行下面的命令:
第一步:打開oracle監聽
$
lsnrctl
start
第二步:進入sqlplus
$
sqlplus
/nolog
sql>
第三步:使用sysdab角色登錄sqlplus
sql>
conn
/as
sysdba
第四步:啟動資料庫
sql>
startup
經過上面的四個步驟,oracle資料庫就可以啟動了。
② 在要在linux系統下用mysql建立一個資料庫,具體操作步驟是什麼
建庫:
create
database
庫名;
例如:創建一個名字位aaa的庫
mysql>
create
databases
aaa;
建表:
use
庫名;
create
table
表名
(欄位設定列表);
例如:在剛創建的aaa庫中建立表name,表中有id(序號,自動增長),xm(姓名),xb(性別),csny(出身年月)四個欄位
use
aaa;
mysql>
create
table
name
(id
int(3)
auto_increment
not
null
primary
key,
xm
char(8),xb
char(2),csny
date);
③ linux環境下python怎樣操作mysql資料庫
linux環境下python怎樣操作mysql資料庫呢?方法如下:
首先在Linux環境下安裝mysql-python
1、下載mysql-python
打開終端:
cd /usr/local
sudo wgethttp://nchc.dl.sourceforge.net/sourceforge/mysql-python/MySQL-python-1.2.2.tar.gz
官網地址:http://sourceforge.net/projects/mysql-python/
2、解壓
sudo tar -zxvf MySQL-python-1.2.2.tar.gz
cd MySQL-python-1.2.2
3、在安裝前需進行配置
a、修改setup_posix.py中的mysql_config.path為你mysql安裝目錄的mysql_config路徑
b、修改site.cfg中的threadsafe = False,去掉mysql_config前的注釋,並改為mysql_config = /usr/local/mysql/bin/mysql_config
c、執行命令:
export LD_LIBRARY_PATH=/usr/local/mysql/lib/mysql
sudo ln -s /usr/local/mysql/lib/mysql/libmysqlclient.so /usr/lib/libmysqlclient.so.14
sudo ldconfig (這個很重要,否則後面會報錯ImportError: libmysqlclient.so.14: cannot open shared object file)
4、編譯安裝
1)python setup.py build
若未成功的話,需手動安裝setuptools:
sudo apt-get install python-setuptools
2)sudo python setup.py install
5、測試
python
>>> import MySQLdb
沒有錯誤,則表示安裝成功了。
使用python操作MySQL
使用python連接MySQL,創建資料庫,創建表格,插入/查詢數據。python_mysql.py代碼如下:
若出現類似於此的警告:
/usr/local/lib/python2.6/dist-packages/MySQL_python-1.2.2-py2.6-linux-i686.egg/MySQLdb/__init__.py:34: DeprecationWarning: the sets mole is deprecated from sets import ImmutableSet
解決辦法如下:
找到上面路徑MySQLdb下的__init__.py文件
1) 在文件中 "__init__.py"中, 注釋掉:
from sets import ImmutableSet
class DBAPISet(ImmutableSet):
新增:
class DBAPISet(frozenset):
2) 在文件"converters.py"中,注釋掉 from sets import BaseSet, Set 這一句話。
3) 在文件"converters.py"中, 修改 其中的"Set" 成為 "set" ( 只有兩個地方需要修改,即大寫改小寫)
大概 line 45: return Set([ i for i in s.split(',') if i ]) 改為 return set([ i for i in s.split(',') if i ])
大概 line 129: Set: Set2Str, 改為 set: Set2Str,
1.引入MySQLdb庫
import MySQLdb
2.和資料庫建立連接
conn=MySQLdb.connect(host="localhost",user="root",passwd="sa",db="mytable",charset="utf8")
提供的connect方法用來和資料庫建立連接,接收數個參數,返回連接對象.
比較常用的參數包括
host:資料庫主機名.默認是用本地主機.
user:資料庫登陸名.默認是當前用戶.
passwd:資料庫登陸的秘密.默認為空.
db:要使用的資料庫名.沒有默認值.
port:MySQL服務使用的TCP埠.默認是3306.
charset:資料庫編碼.
然後,這個連接對象也提供了對事務操作的支持,標準的方法
commit() 提交
rollback() 回滾
3.執行sql語句和接收返回值
cursor=conn.cursor()
n=cursor.execute(sql,param)
首先,我們用使用連接對象獲得一個cursor對象,接下來,我們會使用cursor提供的方法來進行工作.這些方法包括兩大類:1.執行命令,2.接收返回值
cursor用來執行命令的方法:
callproc(self, procname, args):用來執行存儲過程,接收的參數為存儲過程名和參數列表,返回值為受影響的行數
execute(self, query, args):執行單條sql語句,接收的參數為sql語句本身和使用的參數列表,返回值為受影響的行數
executemany(self, query, args):執行單條sql語句,但是重復執行參數列表裡的參數,返回值為受影響的行數
nextset(self):移動到下一個結果集
cursor用來接收返回值的方法:
fetchall(self):接收全部的返回結果行.
fetchmany(self, size=None):接收size條返回結果行.如果size的值大於返回的結果行的數量,則會返回cursor.arraysize條數據.
fetchone(self):返回一條結果行.
scroll(self, value, mode='relative'):移動指針到某一行.如果mode='relative',則表示從當前所在行移動value條,如果mode='absolute',則表示從結果集的第一行移動value條.
下面的代碼是一個完整的例子.
#使用sql語句,這里要接收的參數都用%s佔位符.要注意的是,無論你要插入的數據是什麼類型,佔位符永遠都要用%s
sql="insert into cdinfo values(%s,%s,%s,%s,%s)"
#param應該為tuple或者list
param=(title,singer,imgurl,url,alpha)
#執行,如果成功,n的值為1
n=cursor.execute(sql,param)
#再來執行一個查詢的操作
cursor.execute("select * from cdinfo")
#我們使用了fetchall這個方法.這樣,cds里保存的將會是查詢返回的全部結果.每條結果都是一個tuple類型的數據,這些tuple組成了一個tuple
cds=cursor.fetchall()
#因為是tuple,所以可以這樣使用結果集
print cds[0][3]
#或者直接顯示出來,看看結果集的真實樣子
print cds
#如果需要批量的插入數據,就這樣做
sql="insert into cdinfo values(0,%s,%s,%s,%s,%s)"
#每個值的集合為一個tuple,整個參數集組成一個tuple,或者list
param=((title,singer,imgurl,url,alpha),(title2,singer2,imgurl2,url2,alpha2))
#使用executemany方法來批量的插入數據.這真是一個很酷的方法!
n=cursor.executemany(sql,param)
4.關閉資料庫連接
需要分別的關閉指針對象和連接對象.他們有名字相同的方法
cursor.close()
conn.close()
以上方法就可以了。
另外,附MySQLdb的相關資料
更多關於MySQLdb的信息可以查這里:http://mysql-python.sourceforge.net/MySQLdb.html
④ linux下怎麼連接mysql資料庫
1、首先確保linux下mysql安裝好,服務啟動完之後,就可以開始連接資料庫了。在終端輸入「mysql -hlocalhost -uroot -p」,其中h參數是主機名,這里是本地就寫localhost,也可以省略:
⑤ linux系統mysql資料庫怎麼進入資料庫
連接MYSQL:mysql -h主機地址 -u用戶名 -p用戶密碼
⑥ 如何在Linux下用C語言操作資料庫sqlite3
下面我們看看怎麼在C語言中向資料庫插入數據。
好的,我們現編輯一段c代碼,取名為 insert.c
// name: insert.c
// This prog is used to test C/C++ API for sqlite3 .It is very simple,ha !
// Author : zieckey All rights reserved.
// data : 2006/11/18
#include <stdio.h>
#include <stdlib.h>
#include "sqlite3.h"
#define _DEBUG_
int main( void )
{
sqlite3 *db=NULL;
char *zErrMsg = 0;
int rc;
rc = sqlite3_open("zieckey.db", &db); //打開指定的資料庫文件,如果不存在將創建一個同名的資料庫文件
if( rc )
{
fprintf(stderr, "Can't open database: %s
", sqlite3_errmsg(db));
sqlite3_close(db);
exit(1);
}
else printf("You have opened a sqlite3 database named zieckey.db successfully!
Congratulations! Have fun ! ^-^
");
//創建一個表,如果該表存在,則不創建,並給出提示信息,存儲在 zErrMsg 中
char *sql = " CREATE TABLE SensorData(
ID INTEGER PRIMARY KEY,
SensorID INTEGER,
SiteNum INTEGER,
Time VARCHAR(12),
SensorParameter REAL
);" ;
sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
#ifdef _DEBUG_
printf("%s
",zErrMsg);
#endif
//插入數據
sql = "INSERT INTO "SensorData" VALUES( NULL , 1 , 1 , '200605011206', 18.9 );" ;
sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
sql = "INSERT INTO "SensorData" VALUES( NULL , 1 , 1 , '200605011306', 16.4 );" ;
sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
sqlite3_close(db); //關閉資料庫
return 0;
}
好的,將上述代碼寫入一個文件,並將其命名為 insert.c 。
解釋:
sqlite3_exec的函數原型說明如下:
int sqlite3_exec(
sqlite3*,
const char *sql,
sqlite_callback,
void *,
char **errms
g
);
編譯:
[root@localhost temp]# gcc insert.c -lsqlite3 -L/usr/local/sqlite3/lib -I/usr/local/sqlite3/include
insert.c:28:21: warning: multi-line string literals are deprecated
[root@localhost temp]#
執行
[root@localhost temp]# ./a.out
./a.out: error while loading shared libraries: libsqlite3.so.0: cannot open shared object file: No such file or directory
[root@localhost temp]#
同樣的情況,如上文處理方法:
[root@localhost temp]# export LD_LIBRARY_PATH=/usr/local/sqlite3/lib:$LD_LIBRARY_PATH
[root@localhost temp]# ./a.out
You have opened a sqlite3 database named zieckey.db successfully!
Congratulations! Have fun ! ^-^
(null)
(null)
(null)
[root@localhost temp]#
運行成功了,好了,現在我們來看看是否插入了數據
[root@localhost temp]# /usr/local/sqlite3/bin/sqlite3 zieckey.db
SQLite version 3.3.8
Enter ".help" for instructions
sqlite> select * from SensorData;
1|1|1|200605011206|18.9
2|1|1|200605011306|16.4
sqlite>
⑦ 如何在Linux下用C語言操作資料庫sqlite3.pdf
具體步驟是:
下載 sqlite3 的源碼,好像是 sqlite3.h sqlite3_ext.h 以及 sqlite3.cc
可以將源碼編譯成庫(靜態庫或者動態庫),或者直接嵌入到工程中參與編譯
資料庫操作的一般流程是:
sqlite3_open()/sqlite3_open_v2() 創建/打開一個資料庫
sqlite3_prepare_v2() 實例化一個 sql statement
sqlite3_bind_XXX()綁定參數
sqlite3_step() 執行 SQL 語句
sqlite3_finalize() 析構 sql statement
sqlite3_close()關閉資料庫
⑧ linux下怎麼啟動從的資料庫
Linux下oracle資料庫啟動和關閉操作
第一步:登陸
root登陸之後切換到oracle用戶上,輸入
su oracle
第二步:連接
在oracle用戶下,輸入
sqlplus /nolog
第三步:使用管理員許可權
輸入
connect /as sysdba
第四步:啟動/關閉服務
輸入
startup
startup參數
不帶參數,啟動資料庫實例並打開資料庫,以便用戶使用資料庫,在多數情況下,使用這種方式!
nomount,只啟動資料庫實例,但不打開資料庫,在你希望創建一個新的資料庫時使用,或者在你需要這樣的時候使用!
mount,在進行資料庫更名的時候採用。這個時候資料庫就打開並可以使用了!
謝謝!不準確的地方請指教!
shutdown
shutdown的參數
Normal 需要等待所有的用戶斷開連接
Immediate 等待用戶完成當前的語句
Transactional 等待用戶完成當前的事務
Abort 不做任何等待,直接關閉資料庫
normal需要在所有連接用戶斷開後才執行關閉資料庫任務,所以有的時候看起來好象命令沒有運行一樣!在執行這個命令後不允許新的連接
immediate在用戶執行完正在執行的語句後就斷開用戶連接,並不允許新用戶連接。
transactional 在擁護執行完當前事物後斷開連接,並不允許新的用戶連接資料庫。
abort 執行強行斷開連接並直接關閉資料庫。
第五步:如果是啟動服務,要開啟監聽
退出sqlplus模式,輸入
lsnrctl start
⑨ linux下應該怎麼操作才能啟動oracle資料庫
啟動oracle資料庫步驟:
首先使用oracle用戶登錄Linux,然後在shell命令行中執行下面的命令:
第一步:打開Oracle監聽
$ lsnrctl start
第二步:進入sqlplus
$ sqlplus /nolog
SQL>
第三步:使用sysdab角色登錄sqlplus
SQL> conn /as sysdba
第四步:啟動資料庫
SQL> startup
經過上面的四個步驟,oracle資料庫就可以啟動了。
關閉資料庫用 shutdown 是要等待事物結束才關閉,強制關閉用 shutdown abort。
⑩ linux進入資料庫命令
格式: mysql -h主機地址 -u用戶名-p用戶密碼
1、例1:連接到本機上的MYSQL
一般可以直接鍵入命令。
mysql -uroot -p1
回車後提示你輸密碼,如果剛安裝好MYSQL,超級用戶root是沒有密碼的,故直接回車即可進入到MYSQL中了,MYSQL的提示符是:mysql>
2、連接到遠程主機上的MySQL。
假設遠程主機的IP為:10.0.0.1,用戶名為root,密碼為123。則鍵入以下命令:
mysql -h10.0.0.1 -uroot -p1231
(註:u與root可以不用加空格,其它也一樣)
3、退出MySQL命令。
exit (回車)。
(10)linux資料庫操作擴展閱讀:
Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟體、應用程序和網路協議。它支持32位和64位硬體。
Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。
Linux操作系統誕生於1991 年10 月5 日(這是第一次正式向外公布時間)。Linux存在著許多不同的Linux版本,但它們都使用了Linux內核。
Linux可安裝在各種計算機硬體設備中,比如手機、平板電腦、路由器、視頻游戲控制台、台式計算機、大型機和超級計算機。
嚴格來講,Linux這個詞本身只表示Linux內核,但實際上人們已經習慣了用Linux來形容整個基於Linux內核,並且使用GNU工程各種工具和資料庫的操作系統。