新聞中心
近年來,隨著互聯(lián)網(wǎng)的飛速發(fā)展,數(shù)據(jù)庫的使用變得越來越廣泛?,F(xiàn)在,絕大多數(shù)公司都擁有自己的數(shù)據(jù)庫,用于存儲(chǔ)各種業(yè)務(wù)數(shù)據(jù)。然而,隨著數(shù)據(jù)庫規(guī)模的不斷擴(kuò)大,數(shù)據(jù)庫的安全性問題也逐漸凸顯。數(shù)據(jù)庫中的數(shù)據(jù)非常重要,一旦被黑客攻擊,后果會(huì)非常嚴(yán)重。因此,對于數(shù)據(jù)庫的安全性問題,我們需要采取綜合的措施,其中一項(xiàng)非常重要的措施就是。

什么是掃描數(shù)據(jù)庫?
掃描數(shù)據(jù)庫是指對數(shù)據(jù)庫進(jìn)行全面的檢測,查找其中可能存在的漏洞和安全隱患。這項(xiàng)工作可以通過專業(yè)的掃描工具來完成,掃描工具會(huì)自動(dòng)檢測數(shù)據(jù)庫的各個(gè)方面,包括數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫的設(shè)置、數(shù)據(jù)庫的權(quán)限等等。掃描工具可以幫助管理員找出數(shù)據(jù)庫中的安全隱患,并提供一系列有效的安全措施,保證數(shù)據(jù)庫的安全性。
為什么要掃描數(shù)據(jù)庫?
掃描數(shù)據(jù)庫的目的非常明確,就是為了發(fā)現(xiàn)潛藏在數(shù)據(jù)庫中的安全隱患。數(shù)據(jù)庫是企業(yè)中最重要的資源之一,其中存儲(chǔ)著大量的業(yè)務(wù)數(shù)據(jù)、個(gè)人信息等等,如果數(shù)據(jù)庫中的數(shù)據(jù)被攻擊者盜取或篡改,將會(huì)帶來非常嚴(yán)重的后果。通過掃描數(shù)據(jù)庫,我們可以及時(shí)發(fā)現(xiàn)存在的漏洞和安全隱患,及時(shí)加以修補(bǔ)和改進(jìn),保障數(shù)據(jù)的安全。
掃描數(shù)據(jù)庫的好處
1、發(fā)現(xiàn)安全問題
通過掃描數(shù)據(jù)庫,系統(tǒng)會(huì)自動(dòng)檢測數(shù)據(jù)庫中的安全漏洞和隱患,幫助管理員及時(shí)發(fā)現(xiàn)數(shù)據(jù)庫中可能存在的問題。管理員可以及時(shí)采取措施,修補(bǔ)漏洞,避免安全事件發(fā)生。
2、提高安全性
通過掃描數(shù)據(jù)庫,管理員可以及時(shí)發(fā)現(xiàn)數(shù)據(jù)庫中可能存在的安全隱患,并且根據(jù)掃描報(bào)告提供的措施及時(shí)加以改進(jìn)和完善,提高數(shù)據(jù)庫的安全性。
3、保護(hù)企業(yè)數(shù)據(jù)
數(shù)據(jù)庫是企業(yè)中最寶貴的資源之一,其中包含著企業(yè)的核心數(shù)據(jù),如果被黑客攻擊,后果將不堪設(shè)想。通過掃描數(shù)據(jù)庫,找出可能存在的安全隱患,加強(qiáng)安全保障,能夠更好地保護(hù)企業(yè)的數(shù)據(jù)。
掃描數(shù)據(jù)庫的注意事項(xiàng)
1、經(jīng)常性掃描
數(shù)據(jù)庫是經(jīng)常使用的資源,因此掃描的次數(shù)也需要相應(yīng)增加。管理員需要定期對數(shù)據(jù)庫進(jìn)行掃描,以及時(shí)發(fā)現(xiàn)和解決數(shù)據(jù)庫中的安全問題。
2、選擇專業(yè)工具
掃描數(shù)據(jù)庫需要使用專業(yè)的掃描工具,這些工具可以全面掃描數(shù)據(jù)庫的各個(gè)方面,發(fā)現(xiàn)存在的安全問題。因此,管理員需要選擇好的掃描工具,并正確地使用這些工具。
3、處理漏洞
一旦掃描到數(shù)據(jù)庫中的漏洞和隱患,管理員需要及時(shí)加以處理。接下來,管理員需要采取措施進(jìn)行修復(fù)和改進(jìn),避免安全問題進(jìn)一步擴(kuò)大和升級(jí)。
結(jié)語
隨著互聯(lián)網(wǎng)的發(fā)展,數(shù)據(jù)庫成為企業(yè)中至關(guān)重要的資源之一。因此,顯得非常重要。通過全面、細(xì)致的掃描工作,我們可以及時(shí)發(fā)現(xiàn)存在的安全問題,提高數(shù)據(jù)庫的安全性,保障企業(yè)數(shù)據(jù)的安全。同時(shí),需要注意正確選擇掃描工具,并對掃描結(jié)果進(jìn)行認(rèn)真的處理,才能更好地保護(hù)企業(yè)的核心數(shù)據(jù)。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220mysql使用什么類型存 json數(shù)據(jù)
ON (JavaScriptObject Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式,主要用于傳送數(shù)據(jù)。ON采用了獨(dú)立于語言的文本格式,類似XML,但是比XML簡單,易讀并且易編寫。對機(jī)器來說易于解析和生成,并且會(huì)減少網(wǎng)絡(luò)帶寬的傳輸。由于ON格式可以解耦javascript客戶端應(yīng)用與Restful服務(wù)器端的方法調(diào)用,因而在互聯(lián)網(wǎng)應(yīng)用中被大量使用。
ON的格式非常簡單:名稱/鍵值。之前MySQL版本里面要實(shí)現(xiàn)這樣的存儲(chǔ),要么用VARCHAR要么用TEXT大文本。 MySQL5.7發(fā)布后,專門設(shè)計(jì)了ON數(shù)據(jù)類型以及關(guān)于這種類型的檢索以及其他函數(shù)解析。我們先看看MySQL老版本的ON存取。
示例表結(jié)構(gòu):
CREATE TABLE json_test(
id INT,
person_desc TEXT
)ENGINE INNODB;
我們來插入一條記錄:
INSERT INTO json_test VALUES (1,'{
“programmers”:
“firstName”: “Brett”,
“l(fā)astName”: “McLaughlin”,
“email”: “aaaa”
}, {
“firstName”: “Jason”,
“l(fā)astName”: “Hunter”,
“email”: “bbbb”
}, {
“firstName”: “Elliotte”,
“l(fā)astName”: “Harold”,
“email”: “cccc”
}>,
“authors”:
“firstName”: “Isaac”,
“l(fā)astName”: “Asimov”,
“genre”: “sciencefiction”
}, {
“firstName”: “Tad”,
“l(fā)astName”: “Williams”,
“genre”:”fantasy”
}, {
“firstName”: “Frank”,
“l(fā)astName”: “Peretti”,
“genre”: “christianfiction”
}>,
“musicians”:
“firstName”: “Eric”,
“l(fā)astName”: “Clapton”,
“instrument”: “guitar”
}, {
“firstName”: “Sergei”,
“l(fā)astName”: “Rachmaninoff”,
“instrument”: “piano”
}>
}’);
那一般我們遇到這樣來存儲(chǔ)ON格式的話,只能把這條記錄取出來交個(gè)應(yīng)用程序,由應(yīng)用程
來解析。如此一來,ON又和特定的應(yīng)用程序耦合在一起,其便利性的優(yōu)勢大打折扣。
現(xiàn)在到了MySQL5.7,可以支持對ON進(jìn)行屬性的解析,我們重新修改下表結(jié)構(gòu):
ALTER TABLE json_test MODIFY person_desc json;
先看看插入的這行ON數(shù)據(jù)有哪些KEY:
mysql> SELECT id,json_keys(person_desc) as “keys” FROM json_test\G
*************************** 1. row***************************
id: 1
keys:
1 row in set (0.00 sec)
我們可以看到,里面有三個(gè)KEY,分別為authors,musicians,programmers。那現(xiàn)在找一
KEY把對應(yīng)的值拿出來:
mysql> SELECT json_extract(AUTHORS,’$.lastName’) AS ‘name’, AUTHORS FROM
-> (
-> SELECT id,json_extract(person_desc,’$.authors’) AS “authors” FROM json_test
->UNION ALL
-> SELECT id,json_extract(person_desc,’$.authors’) AS “authors” FROM json_test
-> UNION ALL
-> SELECT id,json_extract(person_desc,’$.authors’) AS “authors” FROM json_test
-> ) AS T1
-> ORDER BY NAME DESC\G
*************************** 1. row***************************
name:”Williams”
AUTHORS: {“genre”: “fantasy”,”lastName”: “Williams”, “firstName”:”Tad”}
*************************** 2. row***************************
name:”Peretti”
AUTHORS: {“genre”:”christianfiction”, “l(fā)astName”: “Peretti”,”firstName”:
“Frank”}*************************** 3. row***************************
name:”Asimov”
AUTHORS: {“genre”: “sciencefiction”,”lastName”: “Asimov”, “firstName”:”Isaac”}
3 rows in set (0.00 sec)
現(xiàn)在來把詳細(xì)的值羅列出來:
mysql> SELECT
->json_extract(AUTHORS,’$.firstName’) AS “firstname”,
-> json_extract(AUTHORS,’$.lastName’)AS “l(fā)astname”,
-> json_extract(AUTHORS,’$.genre’) AS”genre”
-> FROM
-> (
-> SELECT id,json_extract(person_desc,’$.authors’)AS “authors” FROM json
_test
-> ) AS T\G
*************************** 1. row***************************
firstname: “Isaac”
lastname:”Asimov”
genre:”sciencefiction”
1 row in set (0.00 sec)
我們進(jìn)一步來演示把a(bǔ)uthors 這個(gè)KEY對應(yīng)的所有對象刪掉。
mysql> UPDATE json_test
-> SET person_desc =json_remove(person_desc,’$.authors’)\G
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
查找下對應(yīng)的KEY,發(fā)現(xiàn)已經(jīng)被刪除掉了。
mysql> SELECT json_contains_path(person_desc,’all’,’$.authors’)as authors_exists FROM
json_test\G
*************************** 1. row***************************
authors_exists: 0
1 row in set (0.00 sec)
總結(jié)下,雖然MySQL5.7開始支持ON數(shù)據(jù)類型,但是我建議如果要使用的話,更好是把這的值取出來,然后在應(yīng)用程序段來計(jì)算。畢竟數(shù)據(jù)庫是用來處理結(jié)構(gòu)化數(shù)據(jù)的,大量的未預(yù)先定義schema的json解析,會(huì)拖累數(shù)據(jù)庫的性能。
ON (JavaScriptObject Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式,主要用于傳送數(shù)據(jù)。ON采用了獨(dú)立于語言的文本格式,類似XML,但是比XML簡單,易讀并且易編寫。對機(jī)器來說易于解析和生成,并且會(huì)減少網(wǎng)絡(luò)帶寬的傳輸。由于ON格式可以解耦javascript客戶端應(yīng)用與Restful服務(wù)器端的方法調(diào)用,因而在互聯(lián)網(wǎng)應(yīng)用中被大量使用。
ON的格式非常簡單:名稱/鍵值。之前MySQL版本里面要實(shí)現(xiàn)這樣的存儲(chǔ),要么用VARCHAR要么用TEXT大文本。 MySQL5.7發(fā)布后,專門設(shè)計(jì)了ON數(shù)據(jù)類型以及關(guān)于這種類型的檢索以及其他函數(shù)解析。我們先看看MySQL老版本的ON存取。
示例表結(jié)構(gòu):
CREATE TABLE json_test(
id INT,
person_desc TEXT
)ENGINE INNODB;
我們來插入一條記錄:
INSERT INTO json_test VALUES (1,'{
”programmers”:
”firstName”: “Brett”,
”lastName”: “McLaughlin”,
”email”: “aaaa”
}, {
”firstName”: “Jason”,
”lastName”: “Hunter”,
”email”: “bbbb”
}, {
”firstName”: “Elliotte”,
”lastName”: “Harold”,
”email”: “cccc”
}>,
”authors”:
”firstName”: “Isaac”,
”lastName”: “Asimov”,
”genre”: “sciencefiction”
}, {
”firstName”: “Tad”,
”lastName”: “Williams”,
”genre”:”fantasy”
}, {
”firstName”: “Frank”,
”lastName”: “Peretti”,
”genre”: “christianfiction”
}>,
”musicians”:
”firstName”: “Eric”,
”lastName”: “Clapton”,
”instrument”: “guitar”
}, {
”firstName”: “Sergei”,
”lastName”: “Rachmaninoff”,
”instrument”: “piano”
}>
}’);
那一般我們遇到這樣來存儲(chǔ)ON格式的話,只能把這條記錄取出來交個(gè)應(yīng)用程序,由應(yīng)用程序來解析。如此一來,ON又和特定的應(yīng)用程序耦合在一起,其便利性的優(yōu)勢大打折扣。
現(xiàn)在到了MySQL5.7,可以支持對ON進(jìn)行屬性的解析,我們重新修改下表結(jié)構(gòu):
ALTER TABLE json_test MODIFY person_desc json;
先看看插入的這行ON數(shù)據(jù)有哪些KEY:
mysql> SELECT id,json_keys(person_desc) as “keys” FROM json_test\G
*************************** 1. row***************************
id: 1
keys:
1 row in set (0.00 sec)
我們可以看到,里面有三個(gè)KEY,分別為authors,musicians,programmers。那現(xiàn)在找一個(gè)KEY把對應(yīng)的值拿出來:
mysql> SELECT json_extract(AUTHORS,’$.lastName’) AS ‘name’, AUTHORS FROM
-> (
-> SELECT id,json_extract(person_desc,’$.authors’) AS “authors” FROM json_test
->UNION ALL
-> SELECT id,json_extract(person_desc,’$.authors’) AS “authors” FROM json_test
-> UNION ALL
-> SELECT id,json_extract(person_desc,’$.authors’) AS “authors” FROM json_test
-> ) AS T1
-> ORDER BY NAME DESC\G
*************************** 1. row***************************
name:”Williams”
AUTHORS: {“genre”: “fantasy”,”lastName”: “Williams”, “firstName”:”Tad”}
*************************** 2. row***************************
name:”Peretti”
AUTHORS: {“genre”:”christianfiction”, “l(fā)astName”: “Peretti”,”firstName”: “Frank”}
*************************** 3. row***************************
name:”Asimov”
AUTHORS: {“genre”: “sciencefiction”,”lastName”: “Asimov”, “firstName”:”Isaac”}
3 rows in set (0.00 sec)
現(xiàn)在來把詳細(xì)的值羅列出來:
mysql> SELECT
->json_extract(AUTHORS,’$.firstName’) AS “firstname”,
-> json_extract(AUTHORS,’$.lastName’)AS “l(fā)astname”,
-> json_extract(AUTHORS,’$.genre’) AS”genre”
-> FROM
-> (
-> SELECT id,json_extract(person_desc,’$.authors’)AS “authors” FROM json
_test
-> ) AS T\G
*************************** 1. row***************************
firstname: “Isaac”
lastname:”Asimov”
genre:”sciencefiction”
1 row in set (0.00 sec)
我們進(jìn)一步來演示把a(bǔ)uthors 這個(gè)KEY對應(yīng)的所有對象刪掉。
mysql> UPDATE json_test
-> SET person_desc =json_remove(person_desc,’$.authors’)\G
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
查找下對應(yīng)的KEY,發(fā)現(xiàn)已經(jīng)被刪除掉了。
mysql> SELECT json_contains_path(person_desc,’all’,’$.authors’)as authors_exists FROM json_test\G
*************************** 1. row***************************
authors_exists: 0
1 row in set (0.00 sec)
總結(jié)下,雖然MySQL5.7開始支持ON數(shù)據(jù)類型,但是我建議如果要使用的話,更好是把這樣的值取出來,然后在應(yīng)用程序段來計(jì)算。畢竟數(shù)據(jù)庫是用來處理結(jié)構(gòu)化數(shù)據(jù)的,大量的未預(yù)先定義schema的json解析,會(huì)拖累數(shù)據(jù)庫的性能。
mysql使用什么類型存 json數(shù)據(jù):
vchar …
我們知道,ON是一種輕量級(jí)的數(shù)據(jù)交互的格式,大部分NO SQL數(shù)據(jù)庫的存儲(chǔ)都用ON。MySQL從5.7開始支持ON格式的數(shù)據(jù)存儲(chǔ),并且新增了很多ON相關(guān)函數(shù)。MySQL 8.0 又帶來了一個(gè)新的把ON轉(zhuǎn)換為TABLE的函數(shù)ON_TABLE,實(shí)現(xiàn)了ON到表的轉(zhuǎn)換。
舉例一
我們看下簡單的例子:
簡單定義一個(gè)兩級(jí)ON 對象
mysql> set @ytt='{“name”:}’;Query OK, 0 rows affected (0.00 sec)
之一級(jí):
mysql> select json_keys(@ytt);+—+| json_keys(@ytt) |+—+| |+—+1 row in set (0.00 sec)
第二級(jí):
mysql> select json_keys(@ytt,’$.name’);+-+| json_keys(@ytt,’$.name’) |+-+| |+-+1 row in set (0.00 sec)
我們使用MySQL 8.0 的ON_TABLE 來轉(zhuǎn)換 @ytt。
mysql> select * from json_table(@ytt,’$.name’ columns (f1 varchar(10) path ‘$.a’, f2 varchar(10) path ‘$.b’)) as tt;
+++
| f1 | f2 |
+++
| ytt | action |
| dble | shard |
| mysql | oracle |
+++
3 rows in set (0.00 sec)
舉例二
再來一個(gè)復(fù)雜點(diǎn)的例子,用的是EXPLAIN 的ON結(jié)果集。
ON 串 @json_str1。
set @json_str1 = ‘ { “query_block”: { “select_id”: 1, “cost_info”: { “query_cost”: “1.00” }, “table”: { “table_name”: “bigtable”, “access_type”: “const”, “possible_keys”: , “key”: “id”, “used_key_parts”: , “key_length”: “8”, “ref”: , “rows_examined_per_scan”: 1, “rows_produced_per_join”: 1, “filtered”: “100.00”, “cost_info”: {“read_cost”: “0.00”,”eval_cost”: “0.20”,”prefix_cost”: “0.00”,”data_read_per_join”: “176” }, “used_columns”: } }}’;
之一級(jí):
mysql> select json_keys(@json_str1) as ‘first_object’;+—+| first_object |+—+| |+—+1 row in set (0.00 sec)
第二級(jí):
mysql> select json_keys(@json_str1,’$.query_block’) as ‘second_object’;++| second_object|++| |++1 row in set (0.00 sec)
第三級(jí):
mysql> select json_keys(@json_str1,’$.query_block.table’) as ‘third_object’\G*************************** 1. row ***************************third_object: 1 row in set (0.01 sec)
第四級(jí):
mysql> select json_extract(@json_str1,’$.query_block.table.cost_info’) as ‘forth_object’\G*************************** 1. row ***************************forth_object: {“eval_cost”:”0.20″,”read_cost”:”0.00″,”prefix_cost”:”0.00″,”data_read_per_join”:”176″}1 row in set (0.00 sec)
那我們把這個(gè)ON 串轉(zhuǎn)換為表。
SELECT * FROM ON_TABLE(@json_str1,
“$.query_block”
COLUMNS(
rowid FOR ORDINALITY,
NESTED PATH ‘$.table’
COLUMNS (
a1_1 varchar(100) PATH ‘$.key’,
a1_2 varchar(100) PATH ‘$.ref’,
a1_3 varchar(100) PATH ‘$.filtered’,
nested path ‘$.cost_info’
columns (
a2_1 varchar(100) PATH ‘$.eval_cost’ ,
a2_2 varchar(100) PATH ‘$.read_cost’,
a2_3 varchar(100) PATH ‘$.prefix_cost’,
a2_4 varchar(100) PATH ‘$.data_read_per_join’
),
a3 varchar(100) PATH ‘$.key_length’,
a4 varchar(100) PATH ‘$.table_name’,
a5 varchar(100) PATH ‘$.access_type’,
a6 varchar(100) PATH ‘$.used_key_parts’,
a7 varchar(100) PATH ‘$.rows_examined_per_scan’,
a8 varchar(100) PATH ‘$.rows_produced_per_join’,
a9 varchar(100) PATH ‘$.key’
),
NESTED PATH ‘$.cost_info’
columns (
b1_1 varchar(100) path ‘$.query_cost’
),
c INT path “$.select_id”
)
) AS tt;
++——+++——+——+——+——+——+++——+——+——+——+——+——+
| rowid | a1_1 | a1_2 | a1_3 | a2_1 | a2_2 | a2_3 | a2_4 | a3 | a| a5 | a6 | a7 | a8 | a9 | b1_1 | c |
++——+++——+——+——+——+——+++——+——+——+——+——+——+
|| id | const | 100.00 | 0.20 | 0.00 | 0.00 | 176 | 8 | bigtable | const | id | 1 | 1 | id | NULL | 1 |
|| NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 1.00 | 1 |
++——+++——+——+——+——+——+++——+——+——+——+——+——+
2 rows in set (0.00 sec)
當(dāng)然,ON_table 函數(shù)還有其他的用法,我這里不一一列舉了,詳細(xì)的參考手冊。
python3 mongodb怎么實(shí)現(xiàn)關(guān)聯(lián)查詢
MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫。由C++語言編寫。旨在為WEB應(yīng)用提供可護(hù)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。它的特點(diǎn)是高性能、易部署、易使用,存儲(chǔ)數(shù)據(jù)非常方便。
MongoDB 簡單使用
聯(lián)接數(shù)據(jù)庫
復(fù)制代碼代碼如下:
In : import pymongo
In : from pymongo import Connection
In : connection = Connection(‘192.168.1.3’, 27017) //創(chuàng)建聯(lián)接
Connection 相關(guān)參數(shù)
復(fù)制代碼代碼如下:
Connection(>>>>>>>>)
數(shù)據(jù)庫操作
復(fù)制代碼代碼如下:
In : c.database_names() //列出所有數(shù)據(jù)庫名稱
Out:
In : c.server_info() //查看服務(wù)器相關(guān)信息
Out:
{u’bits’: 64,
u’gitVersion’: u’nogitversion’,
u’ok’: 1.0,
u’sysInfo’: u’Linux yellow 2.6.24-27-server #1 P Fri Mar 12 01:23:09 UTC 2023 x86_64 BOOST_LIB_VERSION=1_40′,
u’version’: u’1.2.2′}
In : db = c //選擇數(shù)據(jù)庫
In : db.collection_names() //列出當(dāng)前數(shù)據(jù)庫中所有名稱
Out:
In : db.connection //查看聯(lián)接信息
Out: Connection(‘192.168.1.3’, 27017)
In : db.create_collection(‘test_abeen’) //創(chuàng)建新
Out: Collection(Database(Connection(‘192.168.1.3′, 27017), u’test’), u’test_abeen’)
In : db.last_status() //查看上次操作狀態(tài)
Out: {u’err’: None, u’n’: 0, u’ok’: 1.0}
In : db.name //查看當(dāng)前數(shù)據(jù)庫名稱
Out: u’test’
In : db.profiling_info() //查看配置信息
Out:
In : db.profiling_level()
Out: 0.0
操作
復(fù)制代碼代碼如下:
In : db.collection_names() //查看當(dāng)前數(shù)據(jù)庫所有名稱
Out:
u’fs.files’,
u’fs.chunks’,
u’test_gao’,
u’system.users’,
u’test_abeen’>
In : c = db.test_abeen //選擇
In : c.name //查看當(dāng)前名稱
Out: u’test_abeen’
In : c.full_name //查看當(dāng)前全名
Out: u’test.test_abeen’
In : c.database //查看當(dāng)前數(shù)據(jù)庫相關(guān)信息
Out: Database(Connection(‘192.168.1.3′, 27017), u’test’)
In : post = {“author”:”Mike”,”text”:”this is a test by abeen”}
In : posts = db.posts
In : posts.insert(post) //向數(shù)據(jù)庫插入文檔,默認(rèn)創(chuàng)建
Out: ObjectId(‘4caa91e’)
In : db.collection_names() //顯示所有名稱
Out:
u’fs.files’,
u’fs.chunks’,
u’test_gao’,
u’system.users’,
u’test_abeen’,
u’posts’>
In : posts.find_one() //從查找信息
Out:
{u’_id’: ObjectId(‘4caa91e’),
u’author’: u’Mike’,
u’text’: u’this is a test by abeen’}
In : p.update({“author”:”Mike”},{“$set”:{“author”:”abeen”,”text”:”this is a test by abeen shan shan”}})//更新文檔信息
In : list(p.find())
Out:
u’author’: u’abeen’,
u’text’: u’this is a test by abeen shan shan’}>
In : list(posts.find())
Out:
u’author’: u’Mike’,
u’text’: u’this is a test by abeen’},
{u’_id’: ObjectId(‘4c358ad4421aa91e’), u’a’: u’aa’, u’b’: u’bb’},
{u’_id’: ObjectId(‘4c358ad9421aa91e’), u’a’: u’aa’, u’b’: u’bb’},
{u’_id’: ObjectId(‘4c358abb421aa91e’),
u’a’: u’abeen’,
u’b’: u’this bb is updated’}>
In : posts.remove({“a”:”abeen”}) //刪除符合條件的文檔
In : list(posts.find())
Out:
u’author’: u’Mike’,
u’text’: u’this is a test by abeen’},
{u’_id’: ObjectId(‘4c358ad4421aa91e’), u’a’: u’aa’, u’b’: u’bb’},
{u’_id’: ObjectId(‘4c358ad9421aa91e’), u’a’: u’aa’, u’b’: u’bb’}>
In : db.collection_names()
Out:
u’fs.files’,
u’fs.chunks’,
u’test_gao’,
u’system.users’,
u’test_abeen’,
u’posts’,
u’doc_abeen’>
In : db.drop_collection(“doc_abeen”) //刪除
In : db.collection_names()
Out:
u’fs.files’,
u’fs.chunks’,
u’test_gao’,
u’system.users’,
u’test_abeen’,
u’posts’>
代碼
復(fù)制代碼代碼如下:
In : result = db.posts.find({“a”:”aa”})//查找
In : type(result)
Out:
In : list(result)
Out:
{u’_id’: ObjectId(‘4c358ad9421aa91e’), u’a’: u’aa’, u’b’: u’bb’}>
find格式
復(fù)制代碼代碼如下:
find(>>>>>>>>>>)
代碼
復(fù)制代碼代碼如下:
In : db.posts.count()//當(dāng)前文檔數(shù)
Out: 3
In : type(db.posts)
Out:
In : posts.rename(‘test_abeen’)//重命名當(dāng)前
In : db.collection_names()
Out:
u’fs.files’,
u’fs.chunks’,
u’test_gao’,
u’system.users’,
u’test_abeen’>
In : for post in c.find({“a”:”aa”}).sort(“a”): //查詢并排序列
post
Out: {u’_id’: ObjectId(‘4c358ad4421aa91e’), u’a’: u’aa’, u’b’: u’bb’}
Out: {u’_id’: ObjectId(‘4c358ad9421aa91e’), u’a’: u’aa’, u’b’: u’bb’}
復(fù)制代碼代碼如下:
> db.foo.insert( { x : 1, y : 1 } )
> db.foo.insert( { x : 2, y : “string” } )
> db.foo.insert( { x : 3, y : null } )
> db.foo.insert( { x : 4 } )
// Query #1 y 為null或不存在
> db.foo.find( { “y” : null } )
{ “_id” : ObjectId(“4dcc677fc83b5629f”), “x” : 3, “y” : null }
{ “_id” : ObjectId(“4dc1975a12c677fc83b562a0”), “x” : 4 }
// Query #2 y為null的值
> db.foo.find( { “y” : { $type : 10 } } )
{ “_id” : ObjectId(“4dcc677fc83b5629f”), “x” : 3, “y” : null }
// Query #3 y不存在的結(jié)果
> db.foo.find( { “y” : { $exists : false } } )
在linux系統(tǒng)中,mysql 中的命令 -o 怎么用
MYSQL命令行參數(shù)的詳細(xì)說明:Usage:mysql
-?, –help #顯示幫助信息并退出
-I, –help #顯示幫助信息并退出
–auto-rehash #自動(dòng)補(bǔ)全功能,就像linux里面,按Tab鍵出提示差不多
-A, –no-auto-rehash #默認(rèn)狀態(tài)是沒有自動(dòng)補(bǔ)全功能的。-A就是不要自動(dòng)補(bǔ)全功能
-B, –batch #mysql不使用歷史文件,禁用交互
–character-sets-dir=name #字體集的安裝目錄
–default-character-set=name #設(shè)置數(shù)據(jù)庫的默認(rèn)字符集
–column-type-info #結(jié)果集返回時(shí),同時(shí)顯示字段的類型等相關(guān)信息
-c, –comments #Preserve comments. Send comments to the server. The
default is –skip-comments (discard comments), enable
with –comments
-C, –compress #在客戶端和服務(wù)器端傳遞信息時(shí)使用壓縮
-#, –debug #bug調(diào)用功能
-D, –database=name #使用哪個(gè)數(shù)據(jù)庫
–default-character-set=name #設(shè)置默認(rèn)的字符集
–delimiter=name #設(shè)置默認(rèn)命令結(jié)束符
-e, –execute=name #執(zhí)行mysql的sql語句
-E, –vertical #垂直打印查詢輸出
-f, –force #如果有錯(cuò)誤跳過去,繼續(xù)執(zhí)行下面的
-G, –named-commands #Enable named commands. Named commands mean thisprogram’s
internal commands; see mysql> help . When enabled, the named commandscan be used from any line of the query, otherwise only from the first line,before an enter.
Disable with –disable-named-commands. This option is disabled by default.
-g, –no-named-commands
Named commands are disabled. Use \* form only, or use named commands onlyin the beginning of a line ending with a semicolon (;) Since version 10.9 theclient now starts with this option ENABLED by default! Disable with ‘-G’. Longformat commands still work from the first line. WARNING: option deprecated;
use –disable-named-commands instead.
-i, –ignore-spaces #忽視函數(shù)名后輪早面的空格.
–local-infile #啟動(dòng)/禁用LOAD DATA LOCAL INFILE.
-b, –no-beep #sql錯(cuò)誤時(shí)早桐消,禁止嘟的一聲
-h, –host=name #設(shè)置連接的服務(wù)器名或者Ip
-H, –html #以html的方式輸出
-X, –xml #以xml的方式輸出
–line-numbers #顯示錯(cuò)誤的行號(hào)
-L, –skip-line-numbers #忽略錯(cuò)誤的行號(hào)
-n, –unbuffered #每執(zhí)行一次sql后,刷新緩存
–column-names #查尋時(shí)顯示列信息,陸知默認(rèn)是加上的
-N, –skip-column-names #不顯示列信息
-O, –set-variable=name #設(shè)置變量用法是–set-variable=var_name=var_value
–sigint-ignore #忽視SIGINT符號(hào)(登錄退出時(shí)Control-C的結(jié)果)
-o, –one-database #忽視除了為命令行中命名的默認(rèn)數(shù)據(jù)庫的語句。可以幫跳過日志中的其它數(shù)據(jù)庫的更新。
–pager #使用分頁器來顯示查詢輸出,這個(gè)要在linux可以用more,less等。
–no-pager #不使用分頁器來顯示查詢輸出。
-p, –password #輸入密碼
-W, –pipe #Use named pipes to connect to server.
-P, –port=# #設(shè)置端口
–prompt=name #設(shè)置mysql提示符
–protocol=name #設(shè)置使用的協(xié)議
-q, –quick #不緩存查詢的結(jié)果,順序打印每一行。如果輸出被掛起,服務(wù)器會(huì)慢下來,mysql不使用歷史文件。
-r, –raw #寫列的值而不轉(zhuǎn)義轉(zhuǎn)換。通常結(jié)合–batch選項(xiàng)使用。
–reconnect #如果與服務(wù)器之間的連接斷開,自動(dòng)嘗試重新連接。禁止重新連接,使用–disable-reconnect。
-s, –silent #一行一行輸出,中間有tab分隔
-S, –socket=name #連接服務(wù)器的sockey文件
–ssl #激活ssl連接,不激活–skip-ssl
–ssl-ca=name #CA file in PEM format (check OpenSSL docs, implies–ssl).
–ssl-capath=name #CA directory (check OpenSSL docs, implies –ssl).
–ssl-cert=name #X509 cert in PEM format (implies –ssl).
–ssl-cipher=name #SSL cipher to use (implies –ssl).
–ssl-key=name #X509 key in PEM format (implies –ssl).
–ssl-verify-server-cert #連接時(shí)審核服務(wù)器的證書
-t, –table #以表格的形式輸出
–tee=name #將輸出拷貝添加到給定的文件中,禁時(shí)用–disable-tee
–no-tee #根–disable-tee功能一樣
-u, –user=name #用戶名
-U, –safe-updates #Only allow UPDATE and DELETE that uses keys.
-U, –i-am-a-dummy #Synonym for option –safe-updates, -U.
-v, –verbose #輸出mysql執(zhí)行的語句
-V, –version #版本信息
-w, –wait #服務(wù)器down后,等待到重起的時(shí)間
–connect_timeout=# #連接前要等待的時(shí)間
–max_allowed_packet=# #服務(wù)器接收/發(fā)送包的更大長度
–net_buffer_length=# #TCP/IP和套接字通信緩沖區(qū)大小。
–select_limit=# #使用–safe-updates時(shí)SELECT語句的自動(dòng)限制
–max_join_size=# #使用–safe-updates時(shí)聯(lián)接中的行的自動(dòng)限制
–secure-auth #拒絕用(pre-4.1.1)的方式連接到數(shù)據(jù)庫
–server-arg=name #Sendembeddedserverthisasaparameter.
關(guān)于scan for 數(shù)據(jù)庫的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都創(chuàng)新互聯(lián)科技公司主營:網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、小程序制作、成都軟件開發(fā)、網(wǎng)頁設(shè)計(jì)、微信開發(fā)、成都小程序開發(fā)、網(wǎng)站制作、網(wǎng)站開發(fā)等業(yè)務(wù),是專業(yè)的成都做小程序公司、成都網(wǎng)站建設(shè)公司、成都做網(wǎng)站的公司。創(chuàng)新互聯(lián)公司集小程序制作創(chuàng)意,網(wǎng)站制作策劃,畫冊、網(wǎng)頁、VI設(shè)計(jì),網(wǎng)站、軟件、微信、小程序開發(fā)于一體。
文章標(biāo)題:掃描數(shù)據(jù)庫,保障數(shù)據(jù)安全(scanfor數(shù)據(jù)庫)
URL地址:http://fisionsoft.com.cn/article/ccscjsi.html


咨詢
建站咨詢
