Week8-學習數據庫基礎知識、代碼版本控制、Python面向對象的複習

    通過上週的學習,購買了雲服務器、安裝了Linux並且初步熟悉了一些核心命令,還對MySQL進行了初步學習。本週繼續深入學習SQL語句、MySQL表單的製作及增刪改查、後端開發語言Python和MySQL數據庫的連接;還初識了Redis鍵值對數據庫、代碼版本控制神器Git等。那麼現在簡單的把本週知識點複習一遍:

    一、 用SQL對MySQL進行操作

        1.創建數據庫
           格式:create database 數據庫名 charset=utf8;
           示例:create database company charset=utf8;

        2.刪除數據庫   
           格式:drop databse 數據庫名;
           示例:drop databse company;

        3.切換數據庫
            格式:use 數據庫名;
            示例:use company;

        4.查看當前選擇的數據庫
            select database();

        5.查看當前數據庫中的表
           show tables;

        6.創建表
           格式:create 表名;
           示例:create tb_dept(列以及類型);

        7.刪除表
           格式:drop table 表名;
           示例:drop table tb_dept;

        8.查看錶結構
           格式:desc 表名;
           示例:desc tb_dept

        9.查看建表語句
           格式: show create table 表名;
           示例:show create table tb_dept

        10.重命名錶名
            格式:rename table 原表名 to 新表名
            示例: rename table tb_dept to new_tb_dept

        11.修改表
            格式:alter table  表名 add|change|drop 列名 類型
            示例:alter table tb_detp add isDelete bit default 0


二:MySQL表單的數據操作

    1. 增
       a、全列插入
        格式:insert into 表名 values(...);
       b、缺省插入
        格式:insert into 表名(列1,列2,……) values(值1,值2,……);
        示例:insert into student(name,age,address) 
       c、同時插入多條數據
        格式:insert into 表名 values(...),(...),……

    2、刪
        格式:delete from 表名 where 條件;  
        示例:delete from tb_dept where dnum=4;

    3、改
        格式:update 表名 set 列1=值1,列2=值2,…… where 條件;
        示例:update tb_dept set ddate=16 where dnum=7;  

    4、查
        說明:查詢表中的全部數據
        格式:select * from 表名;


三、Window下Python和MySQL連接

    1.本地安裝pymysql

    pip install PyMySQL

    2.Python相關代碼

import pymysql    

# 打開數據庫連接(ip/數據庫用戶名/登錄密碼/數據庫名)  
db = pymysql.connect(host='localhost',
user='root',
password='123456', 
database='student',
port=3306,
charset='utf8')  
# 使用 cursor() 方法創建一個遊標對象 cursor  
cursor = db.cursor()  

# 使用 execute()  方法執行 SQL 查詢  
cursor.execute("SELECT * from tbstudent")  
date=cursor.fetchall()
for i in date:
    print(i)
# 使用 fetchone() 方法獲取單條數據.  
# data = cursor.fetchone()  
# print("Database version : %s " % data)

# 關閉數據庫連接  
db.close() 

    3.檢查是否連接成功

       運行以上python代碼後,MySQL控制檯因執行了SELECT * from tbstudent會打印出全部相關表單信息,表示Python和MySQL連接成功。


四、Git和GitHub

1.從github中克隆出我的倉庫.
  git clone https://github.com/dickens13/myrepo
2.切換到的我的倉庫
  cd myrepo
3.查看分支狀態
  git branch
4.同步分支與github
  git pull origin master
5.建立新的分支
  git checkout -b lyw
6.刪除分支
  git checkout -D lyw 刪除本地lyw分支
  git push origin --delete lyw 刪除遠程倉庫lyw分支
7.切換到lyw分支
  git checkout lyw
8.提交修改到緩衝區
  git add README.md或 .   .代表全部文件
9.確認提交到工作區並寫明提交說明
  git commit -m '修改了README裏內容'
10.查看工作樹狀態(修改了文件就能看見)
  git status
11.將當前分支推送到github的ldl分支上,如果在github上不存在ldl分支,則創建ldl分支
  git push origin lyw
12.如果不成功,那麼設置下列全局變量:
  git config --global user.email '[email protected]' (GitHub賬號)
  git config --global user.name '123456'  (密碼)
13.查看本地兩個分支有何不同
  git diff lyw master
14.查看版本日誌(做提交日誌記錄是很重要的)
  git log
  git log --pretty=oneline
  git reflog:記錄了歷史命令
15.拉取遠端倉庫
  git pull origin master
16.強制上傳本地倉庫
  git push -f origin lyw
17.創建祕鑰和公鑰
  ssh-keygen -t rsa -C '[email protected]'
  爲了讓兩個linux機器之間使用ssh不需要用戶名和密碼。所以採用了數字簽名RSA或者DSA來完成這個操作。
  ssh-keygen -t [rsa|dsa],將會生成密鑰文件和私鑰文件
  將 .pub 文件複製到B機器的 .ssh 目錄, 並 cat id_dsa.pub >> ~/.ssh/authorized_keys
  大功告成,從A機器登錄B機器的目標賬戶,不再需要密碼了;(直接運行 #ssh 192。168。20。60 )
18.與github服務器認證公鑰
  ssh -T [email protected]
19.在master分支進行合併ldl分支操作
  git merge lyw
20.查看master分支與ldl分支不同的地方
  git diff merge master lyw
21.設置標籤(概念與分支類似)
  git tag -a v1.0 -m '測試'
22.查看標籤
  git tag
23.上傳標籤到遠端倉庫
  git push origin v1.0
24.緩存修改的代碼
  git stash
25.查看緩存
  git stash list
26.還原緩存
  git stash apply stash@{x}

以上就是Git的一些關鍵指令,抄了一遍順便複習。


五、Python面向對象的複習

    1.property裝飾器可以把get、set等一系列方法綁定在一起,非常方便。不知道理解是否正確?

import math


class Circle(object):
    def __init__(self, radius):
        self._radius = radius

    @property
    def perimeter(self):
        return 2 * math.pi * self._radius

    @property
    def area(self):
        return math.pi * self._radius ** 2


def main():
    c1 = Circle(8.5)
    print(c1.perimeter)
    print(c1.area)



if __name__ == '__main__':
    main()
新買了Python Cookbook(第三版),這是一本老師推薦的非常系統的書。趕緊看了下類和麪向對象部分,感覺有點深奧啊,下週重點研究一下。

   

    總的來說,近期的學習相當於打通了一條經脈。編程開發的前端HTML、JavaScript,後端Python,阿里雲的服務器,數據庫端的MySQL、Redis,代碼版本控制及團隊開發的工具Git等等的種種,就好像快要學習完了一整條產業鏈的趕腳!以上的東西,我們快速的把需要花3年以上學習的東西用不到兩個月過了一遍。雖說都把基礎知識涉獵到了,但基礎肯定沒有打好。至少我本來基礎就比較差,更是覺得不足之處頗多。比如本週的Redis我就學得很差,基本上不知道是用來幹嘛的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章