python學習筆記:資料庫

weixin_33968104發表於2018-04-19

python學習筆記:資料庫

[if !supportLists]1. [endif]CVS svn版本控制系統

[if !supportLists]2. [endif]Git是分散式的版本控制系統

[if !supportLists]3. [endif]Git的出現歷程:

·最早linus在在1991年建立了開源的linux,linux警告過全世界各地的貢獻程式碼,終於成為了最大的伺服器系統軟體。當時的Linux程式碼由志願者把原始碼檔案通過diff方法發給linus本人,他本人進行手工的合併。但是到了2002年,程式碼庫他太大,linus很難繼續通過手工的方式管理了。於是linus選擇了一個商業的版本控制系統BitKeeper,BitKeeper當時的老闆BitMover出於人道主義,授權linux社群免費試使用這個版本控制系統。

但是在2005年,由於linux社群開發Samba的Andrew試圖破解BitKeeper的協議,被發現,於是免費使用權被收回了。Linus花了兩週的時間用c寫了一個分散式版本控制系統Git,一個月之內linux的系統原始碼已經由Git管理了。

[if !supportLists]4. [endif]Cvs,Svn集中式版本控制系統,他們和Git分散式版本控制系統的區別?

· 前兩者需要聯網。

·分散式版本控制系統的安全性要高得多。每個人的電腦中都有一個完整的版本庫。

·及其強大的分支管理。

·最快,最簡單,最流行。

[if !supportLists]5. [endif]接下來討論windowsGit的安裝。

[if !supportLists]6. [endif]MySQL的學習

·表:某種特定型別的資料的結構化清單。

·模式:關於資料庫的表的佈局及特性的資訊。

·列和資料型別:列中儲存著表中某部分的資訊。列:表中的一個欄位,所有的表都是由一個或者多個列組成的。資料型別:所容許的資料的型別,每個表列都有相應的資料型別,它限制容許該列中儲存的資料。

·行:表中的資料是按行儲存的,所儲存的每個記錄儲存在自己的行內,如果將表想象成網格,網格中垂直的列為表列,水平的行為錶行。

·主鍵:一列(或一組列),其值能夠唯一區分表中的每個行。

[if !supportLists](1)[endif].SQL是結構化查詢語言(Structured Query Language)的縮寫,SQL是一種專門用來與資料庫進行通訊的語言。

[if !supportLists](2)[endif].SQL語言的優點:

·1.幾乎所有的DBMS都支援SQL,學習這個語言使你能與所有的資料庫打交道。

·2.SQL簡單易學,語句全部是由描述性很強的英語單片語成,而且這些單詞的數目不多。

·3.是一種強有力的語言,靈活使用其他語言元素,可以進行非常複雜,和高階的資料庫操作。

·SQL是開源的,可以免費使用。它的執行速度很快。可信賴性高,很多非常重要名望很高的公司使用,MySQL來處理自己的重要資料。安裝和使用起來都很容易。

··缺點是:它不總是支援其他的DBMS所提供的功能和特性。

DBMS可以分成兩類:·基於共享檔案系統的DBMS(Microsoft Access和filemaker),另一類是基於客戶機-伺服器的DBMS(MySQL,Oracle,Microsoft SQL Server)。前者用於桌面用途,一般不用於高階或者更急愛關鍵的應用。

·MySQL工具:mysql是一個客戶機-伺服器DBMS,因此,為了使用它,你需要一個客戶機。

·重點提及三個工具:

[if !supportLists](1)[endif].MySQL命令列實用程式。

[if !supportLists]① [endif]命令列的輸入在mysql>之後;

[if !supportLists]② [endif]命令用;或者\g結束,也就是說按Enter不執行命令;

[if !supportLists]③ [endif]輸入help獲得幫助,也可以輸入更多的文字來獲得特定命令的幫助。例如help secret;

[if !supportLists]④ [endif]輸入quit或exit退出命令列實用程式;

[if !supportLists](2)[endif].MySQL Administrator是一個圖形互動客戶機,用來簡化MySQL伺服器的管理

[if !supportLists]① [endif]Server information(伺服器資訊)顯示客戶機和被連線的伺服器之間的狀態和版本資訊。

[if !supportLists]② [endif]Service Control(服務控制)允許停止和啟動MySQL以及指定伺服器特性。

[if !supportLists]③ [endif]User Administrator(使用者管理)用來定義MySQL使用者,登入和許可權。

[if !supportLists]④ [endif]Catalogs(目錄)列出可用的資料庫並允許建立資料庫和表。

[if !supportLists](3)[endif]MySQL query browser為一個圖形互動客戶機,用來編寫和執行MySQL命令。

[if !supportLists]① [endif]輸入MySQL命令到螢幕頂上的視窗中,在輸入語句之後,單擊execute按鈕,把它提交給MySQL處理。

[if !supportLists]② [endif]結果顯示在螢幕左邊的大區域網格中。

[if !supportLists]③ [endif]多條語句和結果顯示在他們自己的標籤中,並且允許快速切換。

[if !supportLists]④ [endif]螢幕右邊是一個標籤,它列出所有的可能的資料來源,展開任一資料來源檢視它的表,展開任一個表檢視他的列。

[if !supportLists]⑤ [endif]你還可以選擇表和列讓MySQL query browser為你編寫MySQL語句。

[if !supportLists]⑥ [endif]Schemata(大綱)標籤的右邊是一個history標籤,它儲存MySQL語句的執行歷史,在需要測試不同版本的MySQL語句時,它非常有用。

[if !supportLists]⑦ [endif]關於MySQL語法,函式等的幫助可以再螢幕的有下角得到。


·使用MySQL

為了連結到MySQL需要以下資訊。

·主機名(計算機名)-如果連結到本地的mysql伺服器,為localhost;

·埠:(如果使用預設埠3306之外的埠)

·一個合法的使用者名稱;

·使用者的口令;

·選擇資料庫

·關鍵字:不能使用關鍵字命名一個表或者列,為了使用crashcourse,應該輸入以下內容:

輸入:USE crashcourse

輸出:Datebase changed


安裝mysql教程:

[if !supportLists]1. [endif]首先在網上下載MySQL,網址是:https://dev.mysql.com/downloads/file/?id=474496

[if !supportLists]2. [endif]下載完成之後,解壓到自定義的資料夾中,然後配置環境變數

[if !supportLists](1) [endif]環境變數的配置:把資料夾中bin的位置新增到path的後面,然後分號結束,注意是新增,不是覆蓋。

新增配置檔案:在MySQL的安裝目錄之下,新建一個資料夾命名為my.ini,裡面的內容如下:示例:[mysqld]

basedir=D:\Program Files\mysql-5.7.10-winx64

datadir=D:\Program Files\mysql-5.7.10-winx64\data

port = 3306

儲存之後關閉

[if !supportLists](2) [endif]初始化資料庫,以管理員的身份開啟cmd執行以下命令:

[if !supportLists]a. [endif]mysqld --initialize --user=mysql --console

在控制檯訊息的尾部,會出現隨機生成的初始密碼,記下來,如果上面的命令執行不成功,則使用以下命令代替:

[if !supportLists]b. [endif]%MYSQL_HOME%\bin\mysqld --initialize --user=mysql --console

[if !supportLists]c. [endif]如果仍然不成功,檢查第二步

[if !supportLists](3) [endif].將MySQL新增到系統服務:

[if !supportLists]a. [endif]以管理員身份開啟cmd,執行以下嗎,命令

mysqld --install MySQL

net start MySQL

安裝成功的話,會顯示服務已啟動

[if !supportLists](4) [endif]啟MySQL並修改密碼

· 在cmd控制檯裡執行命令 mysql -u root -p 

·回車執行後,輸入剛才記錄的隨機密碼

執行成功後,控制檯會顯示MySQL>顯示進入MySQL

輸入命令:set password for root@localhost = password('123'); 

此時root使用者的密碼修改為123


·瞭解資料庫和表

[if !supportLists]1. [endif]SHOW DATABASES返回可用資料庫的一個列表


[if !supportLists]2. [endif]SHOW TABLES返回可用資料庫一個列表,show也可以用來顯示錶列



[if !supportLists]3. [endif]SHOW COLUMNS要求給出一個表名,它對每個欄位返回一行,行中包含欄位名,資料型別,是否允許NULL,鍵資訊,預設值,以及其他資訊。

[if !supportLists]4. [endif]自動增量:某些表列需要唯一值,MySQL可以自動地為每個行分配下一個可用的編號。如果需要它,則必須在用CREATE語句建立表時,將它作為表定義的組成部分。

[if !supportLists]5. [endif]DESCRIBE語句:MySQL支援用DESCRIBE作為 SHOW COLUMNS FROM的一種快捷方式,換句話說,DESCRIBE customer;是SHOW COLUMNS FROM customers;的一種快捷方式。

[if !supportLists]6. [endif]所有支援其他show語句的還有:

[if !supportLists](1) [endif]SHOW STATUS,用於顯示廣泛的伺服器的狀態資訊。

[if !supportLists](2) [endif]SHOW CREATE DATABASE 和SHOW CREATE TABLE ,分別用來顯示建立的也定資料庫或者表的,MySQL語句;

[if !supportLists](3) [endif]SHOW GRANTS,用來顯示授予使用者的安全許可權。

[if !supportLists](4) [endif]SHOW ERROES 和SHOW WRNINGS,用來顯示伺服器錯誤或者警告的訊息。

·本章講述瞭如何登陸MySQL,


控制檯中輸入,mysql -u root -p,然後回車後提醒你輸入密碼:123.

當然,還有其他的一些登陸方法:



·

相關文章