我有資料庫
Ⅰ sql server2008 我有一個資料庫,是想清空裡面的數據,但是不清除表結構,我在百度找了幾種答案。
可以使用truancate table 表名,只清除表中的數據,表結構不變;你可以試一下
Ⅱ 我有一個Mysql的資料庫,每天大概增加1000W條數據,持續至少一年,有如下問題:
首先這么大的數據量不建議使用MySQL這種免費版的資料庫系統,可以使用Oracle等這種大型資料庫系統,其對於資料庫中數據的管理、查詢等的效率要比MySQL好非常的多。
如果你一定要使用MySQL,其伺服器操作系統最好使用Linux,也可以使用國產的紅旗Linux。
如果資料庫非常的海量,那麼可以考慮使用刀片式伺服器進行資料庫集群模式,採用分布式的資料庫系統,如此可以提高查詢的效率。
既然你是搞研究的,那麼對於這種巨量的資料庫管理系統的數據分析可以採用SAS數據倉庫來進行對數據進行分析。
Ⅲ 我有個sql資料庫不知道怎麼寫,請協助
你這個已經是多表查詢的范疇了,不可以這樣寫,應該是:
sql="select * from table1,table2"
但這樣你又會發現將返回3*3=9條記錄(假設兩個表各有3條記錄),這就是所謂的笛卡爾積。多表查詢需要用到各種join,如上面的例子也只不過是各種join的其中一種(cross join,交叉連接),在初學sql的時候join確實是一個很頭疼的事情,給你發一個資料,自己慢慢體會吧,理解了其實也沒什麼:
-------------------------------------------
inner join,full outer join,left join,right join詳解
內部連接 inner join 兩表都滿足的組合
full outer 全連 兩表相同的組合在一起,A表有,B表沒有的數據(顯示為null),同樣B表有A表沒有的顯示為(null)
A表 left join B表 左連,以A表為基礎,A表的全部數據,B表有的組合。沒有的為null
A表 right join B表 右連,以B表為基礎,B表的全部數據,A表的有的組合。沒有的為null
查詢分析器中執行:
--建表table1,table2:
create table table1(id int,name varchar(10))
create table table2(id int,score int)
insert into table1 select 1,'lee'
insert into table1 select 2,'zhang'
insert into table1 select 4,'wang'
insert into table2 select 1,90
insert into table2 select 2,100
insert into table2 select 3,70
如表
-------------------------------------------------
table1|table2|
-------------------------------------------------
idname|idscore|
1lee|190|
2zhang|2100|
4wang|370|
-------------------------------------------------
以下均在查詢分析器中執行
一、外連接
1.概念:包括左向外聯接、右向外聯接或完整外部聯接
2.左連接:left join 或 left outer join
(1)左向外聯接的結果集包括 LEFT OUTER 子句中指定的左表的所有行,而不僅僅是聯接列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關聯的結果集行中右表的所有選擇列表列均為空值(null)。
(2)sql語句
select * from table1 left join table2 on table1.id=table2.id
-------------結果-------------
idnameidscore
------------------------------
1lee190
2zhang2100
4wangNULLNULL
------------------------------
注釋:包含table1的所有子句,根據指定條件返回table2相應的欄位,不符合的以null顯示
3.右連接:right join 或 right outer join
(1)右向外聯接是左向外聯接的反向聯接。將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表返回空值。
(2)sql語句
select * from table1 right join table2 on table1.id=table2.id
-------------結果-------------
idnameidscore
------------------------------
1lee190
2zhang2100
NULLNULL370
------------------------------
注釋:包含table2的所有子句,根據指定條件返回table1相應的欄位,不符合的以null顯示
4.完整外部聯接:full join 或 full outer join
(1)完整外部聯接返回左表和右表中的所有行。當某行在另一個表中沒有匹配行時,則另一個表的選擇列表列包含空值。如果表之間有匹配行,則整個結果集行包含基表的數據值。
(2)sql語句
select * from table1 full join table2 on table1.id=table2.id
-------------結果-------------
idnameidscore
------------------------------
1lee190
2zhang2100
4wangNULLNULL
NULLNULL370
------------------------------
注釋:返回左右連接的和(見上左、右連接)
二、內連接
1.概念:內聯接是用比較運算符比較要聯接列的值的聯接
2.內連接:join 或 inner join
3.sql語句
select * from table1 join table2 on table1.id=table2.id
-------------結果-------------
idnameidscore
------------------------------
1lee190
2zhang2100
------------------------------
注釋:只返回符合條件的table1和table2的列
4.等價(與下列執行效果相同)
A:select a.*,b.* from table1 a,table2 b where a.id=b.id
B:select * from table1 cross join table2 where table1.id=table2.id (註:cross join後加條件只能用where,不能用on)
三、交叉連接(完全)
1.概念:沒有 WHERE 子句的交叉聯接將產生聯接所涉及的表的笛卡爾積。第一個表的行數乘以第二個表的行數等於笛卡爾積結果集的大小。(table1和table2交叉連接產生3*3=9條記錄)
2.交叉連接:cross join (不帶條件where...)
3.sql語句
select * from table1 cross join table2
-------------結果-------------
idnameidscore
------------------------------
1lee190
2zhang190
4wang190
1lee2100
2zhang2100
4wang2100
1lee370
2zhang370
4wang370
------------------------------
注釋:返回3*3=9條記錄,即笛卡爾積
4.等價(與下列執行效果相同)
A:select * from table1,table2
Ⅳ 我有一個SQL2008資料庫,正在使用時,突然停電了,來電後,打開電腦後資料庫顯示「置疑」,請問怎麼處理啊
先使用「無日誌附加」的方法進行附加數據後,對資料庫做DBCC檢測,然後針對錯誤進行修復 。一般如果資料庫正在進行讀寫操作,突然斷電,會導致資料庫無法回寫正常的數據,這樣就會導致資料庫索引及其它錯誤,常見的有「並閆鎖頁錯誤」、「表錯誤: 分配單元ID 169144,頁(1:XXXX)。測試(IS_OFF (BUF_IOERR, pBUF->bstat))失敗。」,可以先用DBCC先進行修復 ,命令:
DBCC CHECKDB(DBName,REPAIR_FAST) --不丟失數據
DBCC CHECKDB(DBName,REPAIR_REBUILD)--不丟失數據
DBCC CHECKDB(DBName,REPAIR_ALLOW_DATA_LOSS)--會丟失數據
如果還是修復不好,就找專業的數據恢復公司做修復吧,可以找北亞數據恢復修復 ,他們修復SQL資料庫很厲害。。。
Ⅳ 我有個mdb資料庫文件,怎麼在網頁中讀取、修改、刪除.mdb 數據啊。
我來試著寫一個
<%
dim db,conn,myconn
db="data/db.mdb" '資料庫文件
Set Conn = Server.CreateObject("ADODB.Connection")
myconn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
Conn.Open MyConn
'添加數據
set rs=server.createobject("adodb.recordset")
rs.open "select * from news",conn,1,3
rs.addnew
rs("lei")=trim(request.form("lei"))'lei欄位名
rs("title")=trim(request.form("title"))'title欄位名
rs("body")=request.form("body")'body欄位名
rs.update
rs.close
set rs=nothing
response.write"<script>alert('添加成功');location.href='addnews.asp'</script>"
end if
'修改資料庫
id=request.querystring("id")
set rs1=server.createobject("adodb.recordset")
rs1.open"select * from news where id="&id,conn,1,3
rs1.update
rs1("lei")=trim(request.form("lei"))
rs1("title")=trim(request.form("title"))
rs1("body")=trim(request.form("body"))
rs1.update
rs1.close
set rs1=nothing
conn.close
set conn=nothing
response.write"<script>alert('修改成功');location.href='update.asp'</script>"
end if
'刪除數據
id=request.querystring("id")
set rs=server.createobject("adodb.recordset")
rs.open"select * from news where id="&id,conn,1,3
rs.delete
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
response.write"<script>alert('刪除成功');location.href='update.asp'</script>"
end if
%>
Ⅵ SQL查詢問題 我有一個資料庫,有很多表,我想查一些數據,但不知道在那個表,有辦法查嗎
你可以通過這個系統表查詢當前庫下的所有表:
use database;
go
select * from sys.tables
go
Ⅶ 我有資料庫地址,資料庫怎麼登陸
不知道你是什麼資料庫,把地址打在資料庫的
地址欄
裡面,然後下面輸入用戶名和密碼,就進去了,本機的直接伺服器默認就進去了,
Ⅷ 網站後台忘記密碼了,我有資料庫文件,怎麼可以查出來
可以替換的
下載安裝 OFFICE2003
安裝的時候選自定義
把ACCESS裝上
然後搜索你的網站文件夾
搜索*.mdb
這個就是資料庫啦
打開看,如果沒有經過MD5加密的話,已經可以看到 帳號和密碼了
如果是經過加密的
在BAIDU搜索MD5
然後會有在線加密
隨便輸入個數然後會給出加密後的數
把加密後的數輸入到資料庫里
然後就可以用你隨便輸入的數登陸啦
sql的直接在資料庫里找到那個欄位修改
Ⅸ 我有資料庫地址,資料庫怎麼登陸
不知道你是什麼資料庫,把地址打在資料庫的地址欄裡面,然後下面輸入用戶名和密碼,就進去了,本機的直接伺服器默認就進去了,
Ⅹ 我有一個軟體站的資料庫,怎麼樣把這個資料庫導入到新雲系統,這樣我就不用一個一個的增加軟體了!
一般來說,要編一個轉換程序,能把資料庫結構轉換。比方說多特是新雲的系統,如果這樣的話,直接用新雲自帶的資料庫升級程序或直接應用就可以