- 存盤資料的演變程序
- 資料庫的本質
- MySQL
- 重要概念介紹
- MySQL的安裝
- MySQL客戶端與服務端
- 注意事項
- 啟動
- SQL陳述句初識
- 環境變數配置及系統服務制作
- 設定密碼
- 忘記密碼做怎么做
- 統一編碼
- 基本SQL陳述句
- 針對庫的增刪改查
- 針對表的增刪改查
- 針對資料的增刪改查
資料庫
存盤程序的演變
- 隨意存到一個檔案中,資料格式也是千差萬別的,完全取決于我們自己
#小李 jason|123|NB #小紅 egon~123~NB #小王 tank-123-NB
- 軟體開發目錄,限制了資料的具體存盤位置
bin
conf
core
db
lib
interface
readme
假設上述是一個單機游戲
那么每個人的游戲記錄也只能在自己的計算機上保存
注冊登陸的賬號也只能在自己的計算機上有效
- 如何將單機編程聯網
先將資料保存部分統一起來,所有人都來同一個地方操作資料
資料庫的本質
""" 資料庫的本質其實就是一款基于網路通信的應用程式 其實每個人都可以開發一款資料庫軟體,因為它僅僅就是一個基于網路通信的應用程式 也就意味著資料庫軟體其實有很多種 關系型資料庫 MySQL、oracle、db2、access、SQLserver 非關系型資料庫 redis、mongodb、memcache """ # 關系型 1.資料之間彼此有關系或者有約束 男生表和前女友表 2.存盤資料的表現格式通常都是表格 name password hobby jason 123 read egon 123 DBJ tank 123 吃生蠔 每個欄位還有存盤型別的限制 比如姓名只能存成字串形式 # 非關系型 存盤資料一般都是以k/v鍵值對的形式
MySQL
""" 任何基于網路通信的應用程式底層用的都是socket -服務端 -基于socket通信 -收發訊息 -SQL陳述句 -客戶端 -基于socket通信 -收發訊息 -SQL陳述句 """ MySQL不單單支持MySQL自己的客戶端app,還支持其他編程語言來充當客戶端操作 如何解決語言溝通的障礙 # 1.讓服務端兼容所有的語言(一個人兼通多國語言) # 2.采用統一的語言(SQL陳述句)
重要概念介紹
""" 庫 》》》》》》》》》 檔案夾 表 》》》》》》》》》 檔案 記錄 》》》》》》》》》 檔案內的一行行內容 表頭 》》》》》》》》》 表格內的第一行欄位 欄位 》》》》》》》》》 name,age.hobby name age hobby jason 18 reak egon 32 DBJ tank 50 swwiming """
MySQL的安裝
""" 在IT界,一般都不會輕易地使用最新版本的軟體,因為新版本可能會出現各種
問題(你原本的專案跑的好好地,非要畫蛇添足更新版本,然后專案崩潰) """ MySQL有很多版本,目前使用的是5.7的版本 """ 參考網站: https://www.mysql.com/(官網)--------》DOWNLOADS--------》[MySQL community(GPL)Downloads]----------》
MySQL community server -----------》looking for previous GA versions?------------》
選擇 select os verSion:windows(x86-64bit)-----------》
downloads ZIP archive 和zip archive,debug binaries & test suite(兩個檔案下載好之后,解壓即可) 注意:5.7版本解壓之后,沒有data檔案夾,這時候以管理員身份打開cmd命令視窗 切換到MySQL的bin目錄下,然后執行:mysql --initialize-insecure --user=mysql 回車,data檔案夾安裝成功 為了學習方便,我們將服務端和客戶端都在本地啟動,后期到了公司,服務端會專門跑在一臺服務器上,所有人基于網路鏈接服務端操作即可 """
MySQL服務端與客戶端
""" 服務端 mysqld.exe 客戶端 mysql.exe """
注意
""" 在前期配置MySQL的時候,cmd終端盡量 以管理員身份運行 win + r 輸入cmd,進入的是普通用戶終端,有一些命令是無法執行的 在開始選單里輸入cmd,滑鼠右鍵選擇以管理員身份運行 """
啟動
- 先切換到mysqld所在的bin目錄下,然后輸入mysqld即可
- 保留原來的cmd視窗,重新打開一個cmd視窗
""" 服務端啟動: 以管理員身份打開cmd終端,切換到bin目錄下,輸入mysqld回車即可 輸入: d: ,切換到d盤 輸入:cd 檔案夾名稱\ 切換到對應的檔案夾下面 客戶端啟動: 保留原來的服務端cmd視窗,重新打開一個cmd視窗,輸入以下命令 mysql -h 127.0.0.1 -P 3306 -uroot -p 回車,回傳以下內容表示連接成功 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.35 MySQL Community Server (GPL) Copyright (c) 2000, 2021, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MySQL首次以管理員身份進入是沒有密碼的,直接回車即可 客戶端鏈接服務端完整命令: mysql -h 127.0.0.1 -P 3306 -uroot -p """ 常見軟體的默認埠號 MySQL 3306 Redis 6379 mongodb 27017 Django 8000 flask 5000 Tomcat 8080
SQL 陳述句初識
""" 1.MySQL中的SQL陳述句是以分號作為結束的標志的 2.基本命令 show databases; 查看所有庫名 回傳 +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) 3.連接服務端的命令可以簡寫為 mysql -uroot -p 4.當你輸入的命令不對,又不想讓服務端執行并回傳訊息的時候,可以再陳述句后面用\c取消執行 錯誤命令 \c 5.客戶端退出命令,退出命令可以不用加分號 quit exit 6.當你在鏈接服務端的時候,發現輸入mysql也能連接 但是你不是管理員身份,而只是一個游客模式,只能使用部分功能或者命令 """
環境變數配置及系統服務制作
小知識點補充 """ 1.如何查看當前具體行程 tasklist tasklist |findstr mysqld 2.如何殺死具體行程(只有管理員cmd視窗下才能成功) tasklkill /F /PID PID號 """ 環境變數配置 """ 每次啟動mysql需要先切換到對應的檔案路徑下才可以操作,太過繁瑣 將mysql所在的檔案路徑添加到系統環境變數中 """ 這樣設定了之后還是繁瑣 將mysql服務制作成系統服務(開機自啟動) """ 查看當前計算機運行的行程 win+r :輸入services.msc命令 將mysql制作成系統服務 win+r 輸入 cmd,在命令視窗輸入:mysqld --install 移除mysql系統服務 win+r 輸入 cmd,在命令視窗輸入:mysqld --remove """
設定密碼
""" 在終端輸入命令,無需進入客戶端 mysqladmin -uroot -p原密碼 password 新密碼 再次修改密碼: mysqladmin -uroot -p123 password 123456 """
忘記密碼了怎么辦?
出去玩了好幾個月,回來發現密碼忘記了,死活進不去
""" 你可以將mysql獲取用戶名和密碼校驗的功能看成是一個裝飾器 裝飾在了客戶端請求訪問的功能上 我們如果將該裝飾器移除,那么mysql服務端就不會校驗用戶名和密碼了 """ #1 先關閉當前mysql服務端 #命令列的方式啟動(讓mysql跳過用戶名和密碼的驗證功能) mysqld --skip-grant-tables #2 直接以無密碼的方式連接 mysql -uroot -p 回車 #3 修改當前用戶的密碼 update mysql.user set authentication_string=password(123456) where user='root' and host='localhost'; """ 真正存盤用戶表的密碼欄位,肯定存盤的是密文 只有用戶自己知道明文是什么,其他人都不知道,這樣更加的安全 密碼對比也只能對比密文 """ #4 立刻將密碼刷到硬碟 flush privilege; #5 關閉當前服務端,然后以正常校驗表的形式啟動
統一編碼
- mysql默認的組態檔
""" 5.6及之前的版本,有一個默認的組態檔 my_default.ini #這個檔案不可以修改 ini結尾的一般都是組態檔 程式啟動會先加載組態檔,然后才真正的啟動 """ [mysqld] #一旦服務端啟動會立刻加載下面的配置 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysql] #一旦客戶端啟動會立刻加載下面的配置 ... [client] #其他客戶端 ... #需要你自己新建一個my.ini的組態檔 #驗證配置是否真的是自動加載 [mysql] print('hello world!') #修改組態檔后一定要重啟服務端才能生效 #統一編碼的配置無需掌握,只需拷貝 #偷懶,將管理員的用戶名和密碼也寫進去 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci [client] default-character-set=utf8 [mysql] user="root" password=123456 default-character-set=utf8
基本SQL陳述句
針對庫的增刪改查
""" #增 create database db1; create database db2 charset='utf8'; #查 show databases; show create database db1; #改 alter database db2 charset='gbk'; #刪 drop database db2; """
針對表的增刪改查
""" 在操作表的時候,需要指定所在的庫 # 查看當前所在的庫名 select database(); # 切換庫 use db1; #增 create table t1(id int,name char(16)); #查 show tables; show create table t1; describe t1; desc t1; #改 alter table t1 mofify name char(32); #刪 drop table t1; create table db2.t2(id int) # 也可以采用絕對路徑的方式操作不同的庫 """
針對資料的增刪改查
""" 一定要先有庫,再有表,才可以操作資料 #增 insert into t1 values(1,'jason'); insert into t1 values(1,'jason'),(2,'egon'); #查 select * from t1; select id,name from t1; #改 update t1 set name='jasonNB' where id = 1; #刪 delete from t1 where id=1; delete from t1; """
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/297712.html
標籤:Python
下一篇:四十五、MySQL資料庫2
