新聞中心
mongodb 怎么執(zhí)行sql
交互式 mongo shell
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:主機域名、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、鼓樓網(wǎng)站維護(hù)、網(wǎng)站推廣。
mongo 127.0.0.1:27017
use test
db.users.findOne()
mongo --eval 運行一段腳本
mongo 127.0.0.1:27017/test --eval "printjson(db.users.findOne())"
在OS命令行下,運行一個js文件
mongo?127.0.0.1:27017/test userfindone.js
userfindone.js 的內(nèi)容:
printjson(db.users.findOne());
在mongo shell 交互模式下,運行一個js文件
mongo test
load("/root/mongojs/userfindone.js")
load() 參數(shù)中的文件路徑,既可以是相對路徑,也可以是絕對路徑。
在mongo shell下查看當(dāng)前工作路徑的方法: pwd( )
當(dāng)前工作路徑就是我們啟動mongo shell時,當(dāng)前用戶所處的路徑。
例如:
[root@cgl-centos-dev mongojs]# pwd
/root/mongojs
[root@cgl-centos-dev mongojs]# mongo
MongoDB shell version: 2.6.12
connecting to: test
pwd()
/root/mongojs
MongoDB 查詢數(shù)據(jù)的語法格式如下:
db.collection.find(query, projection)
query?:可選,使用查詢操作符指定查詢條件
projection?:可選,使用投影操作符指定返回的鍵。查詢時返回文檔中所有鍵值, 只需省略該參數(shù)即可(默認(rèn)省略)。
如果你需要以易讀的方式來讀取數(shù)據(jù),可以使用 pretty() 方法,語法格式如下:db.col.find().pretty()
pretty() 方法以格式化的方式來顯示所有文檔
以下實例我們查詢了集合 col 中的數(shù)據(jù):
db.col.find().pretty(){
"_id" : ObjectId("56063f17ade2f21f36b03133"),
"title" : "MongoDB 教程",
"description" : "MongoDB 是一個 Nosql 數(shù)據(jù)庫",
"by" : "菜鳥教程",
"url" : "",
"tags" : [
"mongodb",
"database",
"NoSQL"
],
"likes" : 100}
除了 find() 方法之外,還有一個 findOne() 方法,它只返回一個文檔。
如何使用建立SQL查詢教程
1.創(chuàng)建表
(1)用Create Table 命令創(chuàng)建表
語法:
Create Table tabl_name
({
}column_name As computed_column_expression
}
}[,...n]
)
[On {fiegroup | Default}]
[Textimage_On {fiegroup | Default}]
例子:
打開cust數(shù)據(jù)庫,創(chuàng)建一個表,該表包含了學(xué)生的有關(guān)信息,即有學(xué)號、姓名、性別、出生日期、籍貫、聯(lián)系電話、住址和備注信息。
Use cust
Create Table students
(
number int not null,
name varchar(10) not null,
sex char(2) null,
birthday datetime null,
hometown varchar(30) null,
telphone_no varchar(12) null,
address varchar(30) null,
others varchar(50) null
)
在這個表中number表示學(xué)生代號,數(shù)據(jù)類型為int,不允許為空;name表示學(xué)生姓名,數(shù)據(jù)類型為varchar,長度為10,不允許為空;sex表示學(xué)生的性別,數(shù)據(jù)類型為char,長度為2,允許為空;birthday表示學(xué)生的出生日期,數(shù)據(jù)類型為datetime,允許為空;hometown表示學(xué)生的籍貫,數(shù)據(jù)類型為varchar,長度為30,允許為空;telephone_no表示學(xué)生的聯(lián)系電腦,數(shù)據(jù)類型為varchar,長度為12,允許為空;address表示學(xué)生的住址,數(shù)據(jù)類型為varchar,長度為30,允許為空;others表示學(xué)生的備注信息,長度為50,允許為空。
2.修改表的結(jié)構(gòu)
(1)使用T-SQL語句增加和刪除一個新列
語法:
Alter Table table
{
ADO
{[]
|colun_name As computed_column_expression
|[]
}[,...n]
|Drop
{Column column
}[,...n]
}
例子:打開cust數(shù)據(jù)庫,修改其中的表students的結(jié)構(gòu),增加一個新字段,字段名為ying,數(shù)據(jù)類型是varchar,長度是10,沒有默認(rèn)值,充許為空。
Use cust
Alter Table students Add ying varchar(10) null
打開cust數(shù)據(jù)庫,修改其中的表students的結(jié)構(gòu),刪除一個字段,字段名為ying。
Use cust
Alter Table students Drop Column ying
3.向表中插入數(shù)據(jù)
(1)用 Insert 語句
語法如下:
Insert [Into]
{table_name|view_name}[(column_list)]
{Values|values_list|select_statement}
注意:在插入數(shù)據(jù)時,字符數(shù)據(jù)和日期數(shù)據(jù)要使用引號引起來。
例子:
Use cust
Insert Into students
Values (11,"影子","男","1999-12-12","湖北","83779805","武漢市橋口區(qū)","VB愛好者")
打開cust數(shù)據(jù)庫,向students表中插入數(shù)據(jù)
(2)用Default 選項
在插入數(shù)據(jù)時,可以使用Default選項。Default選項有兩種形式,一種形式是Default Values,另一種是Default。
Default Values 形式為表中的某一行的所有列插入默認(rèn)值。使用這種形式的前提條件是表中的所有列必須是這四種類型之一:Identity屬性,Timestamp數(shù)據(jù)類型,允許為Null,或者有一個指定的默認(rèn)值。否則,會錯誤信息。
例子:
Use cust
Insert Into students Default Values
這個例子會出現(xiàn)錯誤,因為students表的number字段是設(shè)置為不允許為空的。
Default 形式是為表中的某一列插入默認(rèn)值。要插入的該列必須具備一定的條件,即該列要么是Timestamp 數(shù)據(jù)類型,要么是允許為Null,要么是有一個指定的默認(rèn)值,否則,會出現(xiàn)錯誤信息。
例子:
Use cust
Insert Into students Values(11,"影子",Default,Default,Default,Default,Default,Default)
由天前2個字段不能為空,所以要賦值,否則會出現(xiàn)錯誤,而后面的6個字段允許為空,因此可以調(diào)用Default默認(rèn)。
(3)插入部分?jǐn)?shù)據(jù)
在使用Insert語句插入數(shù)據(jù)是,還可以插入部分?jǐn)?shù)據(jù),也就是可以為每一行的指定的部分列插入數(shù)據(jù)。在插入部分?jǐn)?shù)據(jù)時,應(yīng)該注意以下三個問題:
☆在 Insert 子句中,指定要插入數(shù)據(jù)的列名。
☆在 Values 子句中,列出與列名對應(yīng)的數(shù)據(jù)。列名的順序和數(shù)據(jù)的順序應(yīng)該完全對應(yīng)。
☆在 Insert 子句中,沒有列出的列應(yīng)該至少具有這四種類型之一:Identtty 屬性,Timestamp 數(shù)據(jù)類型,允許為 Null,或者有一個指定的默認(rèn)值。否則,會出現(xiàn)錯誤信息。
例子:
Use cust
Insert Into students (number,name)
Values (110,"影子")
打開cust數(shù)據(jù)庫,向students表中插入一行數(shù)據(jù)
注意:如用下例語句將發(fā)生錯誤,因為name字段是不允許為空的(在創(chuàng)建數(shù)據(jù)庫時設(shè)定的)
Insert Into students (number)
Values (110)
(4)用 Select 語句插入多條數(shù)據(jù)
Insert 語句插入數(shù)據(jù)的特點是每一次只能插入一行數(shù)據(jù)。相反,Select 也可以用在 Insert 語句中,并且可以一次插入多條數(shù)據(jù)。使用 Select 語句插入數(shù)據(jù)的語法形式如下:
Insert table_name
Select column_list
From table_list
Where search_conditions
在使用 Select 語句插入數(shù)據(jù)時,應(yīng)該注意下面幾點:
☆在 Insert 語句中使用 Select 時,他們參考的表既可以是相同的,也可以是不同的。
☆要插入數(shù)據(jù)的表必須已經(jīng)存在。
☆要插入數(shù)據(jù)的表必須和 Select 的結(jié)果集兼容。兼容的含義是列的數(shù)量和順序必須相同,列的數(shù)據(jù)類型或者相同,或者SQL Server 可以自動轉(zhuǎn)換。
例子:
Use cust
Insert students
Select number,name,sex,birthday,hometown,telphone_no,address,others
From students
注意:
Select 后面的字段要輸完整,這個例子是自己向自己插入多條數(shù)據(jù)(自己向自己插入是被允許的)
補充:
你還可以“From students”后面加上“Where name="影子"”,只插入name等于影子的記錄,可以用And 和 Or 加上多個條件。
(5)使用 Select Into 插入數(shù)據(jù)到一個新表中
帶有 Into 子句的 Select 語句允許用戶定義一個新表并且把數(shù)據(jù)插入到新表中。這種方法不同于前面講述的那些方法。在前面的那些方法中,一個共同的特點,是在數(shù)據(jù)輸入之前表已經(jīng)存在。而使用 Select Into 插入數(shù)據(jù)的方法,是在插入數(shù)據(jù)的過程中建立新表。
Select Into 語句的語法如下:
Select select_list
Into new_table_name
From table_list
Where search_conditions
在使用 Select Into 插入數(shù)據(jù)時,要注意下面幾點:
☆在某個數(shù)據(jù)庫中使用 Select Into 插入數(shù)據(jù)時,設(shè)置該數(shù)據(jù)庫的 Select Into/Bulk Copy 為真。
☆新表不能存在,否則會產(chǎn)生錯誤信息。
☆新表中的列和行是基于查詢結(jié)果集
☆要插入的數(shù)據(jù)不記錄在日志中。
☆在select_list 中出現(xiàn)的列應(yīng)該使用別名,否則,新表中的列沒有列名。沒列名的表只能通過 Select * From new_table_name 的形式查詢。因此,應(yīng)該為列起個別名。
☆這種方法多用在對列進(jìn)行各種計算的情況。
例子:
Select number,name
Into newcust1
From students
創(chuàng)建新的表newcust1,插入students表中的number和name字段的所有數(shù)據(jù)。
補充:如果要插入所有字段的記錄,則“Select *”,也可在“From students”后加條件,方法和上個例子一樣。
(6)用 UPdate 語句修改表中的數(shù)據(jù)
Update 語句用來修改表中已存在的數(shù)據(jù)。Update 語句既可以一次修改一行數(shù)據(jù),也可以一次修改許多行,甚至可以一次修改表中的全部數(shù)據(jù)。Update 語句使用 Where 子句指定要修改的行,使用 Set 子句給出新的數(shù)據(jù)。新數(shù)據(jù)可以是常量,也可以是指定的表達(dá)式,還可以是使用 From 子句來自其他表的數(shù)據(jù)。
Update 語句的語法如下:
Update {table_name|view_name}
Set {column_list}=expression [,. . .]
[Where clause]
在使用 Update 語句時,如果沒有使用 Where 子句,那么就對表中所有的行進(jìn)行修改。如果使用Update 語句修改數(shù)據(jù)時與數(shù)據(jù)完整性約束有沖突,那么修改就不會發(fā)生,整個修改事務(wù)全部滾回。例如,這種沖突可能是所輸入的值是錯誤的數(shù)據(jù)類型,或者所輸入的值違背了在該列定義的規(guī)則約束,等等。
例子:
Use cust
Update students
Set name=name+"007"
Where number100
打開cust數(shù)據(jù)庫,修改students表,使number100的數(shù)據(jù)的name的值全部加"007"。
4.用 Delete 語句刪除表中的數(shù)據(jù)
當(dāng)數(shù)據(jù)庫中的數(shù)據(jù)不需要的進(jìn)修可以刪除。一般情況下,刪除數(shù)據(jù)使用 Delete 語句。Delete 語句可以一次
sql入門新手教程是什么?
在關(guān)系數(shù)據(jù)庫實現(xiàn)過程中,第一步是建立關(guān)系模式,定義基本表的結(jié)構(gòu),即該關(guān)系模式是哪些屬性組成的,每一屬性的數(shù)據(jù)類型及數(shù)據(jù)可能的長度、是否允許為空值以及其它完整性約束條件。
定義基本表:
CREATE TABLE([列級完整性約束條件]
[,[列級完整性約束條件]]…
[,[列級完整性約束條件]]
[,表列級完整性約束條件]);
說明:
1、中是SQL語句必須定義的部分,[]中是SQL語句可選擇的部分,可以省略的。
2、CREATE TABLE表示是SQL的關(guān)鍵字,指示本SQL語句的功能。
3、是所要定義的基本表的名稱,一個表可以由一個或若干個屬性(列)組成,但至少有一個屬性,不允許一個屬性都沒有的表,這樣不是空表的含義。
多個屬性定義由圓括號指示其邊界,通過逗號把各個屬性定義分隔開,各個屬性名稱互不相同,可以采用任意順序排列,一般按照實體或聯(lián)系定義屬性的順序排列,關(guān)鍵字屬性組在最前面,這樣容易區(qū)分,也防止遺漏定義的屬性。
4、每個屬性由列名、數(shù)據(jù)類型、該列的多個完整性約束條件組成。其中列名一般為屬性的英文名縮寫,在Microsoft Access 2010中也可以采用中文,建議不要這樣做,編程開發(fā)時不方便。
5、完整性約束條件,分為列級的完整性約束和表級的完整性約束,如果完整性約束條件涉及該表的多個屬性列,則必須定義在表級上,否則既可以定義在列級也可以定義在表級。
這些完整性約束條件被存入系統(tǒng)的數(shù)據(jù)字典中,當(dāng)用戶操作表中數(shù)據(jù)時由RDBMS自動檢查該操作是否違背這些完整性約束,如果違背則RDBMS拒絕本次操作;
這樣保持了數(shù)據(jù)庫狀態(tài)的正確性和完整性,不需要用戶提供檢查,提高了編程的效率,降低了編程難度。列級的完整性通常為主關(guān)鍵字的定義、是否允許為空。表級的完整性約束條件一般為外碼定義。
數(shù)據(jù)操縱
數(shù)據(jù)操縱語言是完成數(shù)據(jù)操作的命令,一般分為兩種類型的數(shù)據(jù)操縱。
1、數(shù)據(jù)檢索(常稱為查詢):尋找所需的具體數(shù)據(jù)。
2、數(shù)據(jù)修改:插入、刪除和更新數(shù)據(jù)。
數(shù)據(jù)操縱語言一般由 INSERT(插入)、 DELETE(刪除)、 UPDATE(更新)、 SELECT(檢索,又稱查詢)等組成。由于 SELECT經(jīng)常使用,所以一般將它稱為查詢(檢索)語言并單獨出現(xiàn)。
sql教程 做sql的步驟
1、首先安裝好的SQL有一大堆應(yīng)用圖標(biāo)簡單使用,只用SQL Server Management Studio就行,打開SQL Server Management Studio連接數(shù)據(jù)庫。如果數(shù)據(jù)庫本身是安裝在本機上的,那么服務(wù)器名稱輸入“.”,身份驗證使用windows驗證就行。
2、如果數(shù)據(jù)庫裝在遠(yuǎn)端,那么你輸入正確的IP地址,使用正確的用戶名(一般是sa)和密碼進(jìn)行登錄。
3、進(jìn)入數(shù)據(jù)庫以后,我們可以在左側(cè)看到整個數(shù)據(jù)庫快照,如下圖所示。我們可以點開某一個表,查看到具體的表名。
4、知道了想要操作的表名稱,我們可以使用SQL語句進(jìn)行操作。例如下邊我用的select命令,可以查看我的一個庫中某個表的數(shù)據(jù),還有insert、update、delete命令,但是對于咱們初學(xué)者來說,這些進(jìn)行數(shù)據(jù)修改的命令還是慎重使用,操作前最好先備份。
SQL基礎(chǔ)教程
網(wǎng)頁版本的
如果還不行就再問我, 或者直接加我msn [email protected]
或者qq 我給你 里邊有最基礎(chǔ)的 sql使用
那個只有一個是對的,具體的域名我忘了,你試下出來個 網(wǎng)頁有專門的sql的
怎樣學(xué)習(xí)sql
SQL學(xué)習(xí)路線
1、下載安裝MySQL,或者安裝軟件phpstudy(這個軟件自帶了mysql數(shù)據(jù)庫,而且安裝啟動方便)。
2、我這里用的是phpstudy,打開phpstudy后,點擊下圖中的啟動,點擊后數(shù)據(jù)庫服務(wù)就會啟動了
3、下載安裝Navicat軟件
這個軟件可以輕松連接數(shù)據(jù)庫,我們可以在這個軟件中練習(xí)學(xué)習(xí)SQL語法
4、使用Navicat建立數(shù)據(jù)庫連接
點擊文件——新建連接,連接名隨便填寫,比如寫“本地”。主機名、端口都不需要修改,用戶名和密碼都是root(因為我們安裝的phpstudy里的mysql默認(rèn)用戶名密碼就是root),點擊連接測試顯示為成功后點確定保存。
以后再次訪問時,雙擊即可。
5、下載習(xí)題進(jìn)行學(xué)習(xí),內(nèi)含習(xí)題需要用到的數(shù)據(jù)表。
6、導(dǎo)入第5步中下載的數(shù)據(jù)表。(后臺回復(fù)關(guān)鍵詞“SQL”獲得)
右擊第4步中的“本地”,新建一個數(shù)據(jù)庫test1,雙擊打開新建的數(shù)據(jù)庫(打開后顏色是綠色)。
拖拽剛才下載的數(shù)據(jù)表文件(sqltest1.sql)到test1上面。
這時會出現(xiàn)上述彈窗,點擊開始,等待導(dǎo)入完成后,點擊關(guān)閉
在左側(cè)空白處右擊,選擇“刷新”,即可看到剛才導(dǎo)入的數(shù)據(jù)表了。
7、打開sql語法編輯器
如下圖點擊查詢——新建查詢,在空白處輸入sql語法,點擊運行,如果輸入錯誤會有報錯,輸入正確則會返回查詢內(nèi)容。
8、邊做邊學(xué)
打開第一部分習(xí)題,邊做邊學(xué),通過查詢w3c的sql語法手冊完成
9、鞏固練習(xí)
嘗試不看sql語法手冊,獨立完成第二部分習(xí)題。
以上是sql的學(xué)習(xí)路徑。
網(wǎng)站名稱:nosql教程,nosql支持sql語句嗎
網(wǎng)頁路徑:http://fisionsoft.com.cn/article/hcosis.html