初識資料庫
一、什麼是資料庫?
存放資料的倉庫
為什麼會有資料庫?因為我們所學的資料管理可以用檔案來儲存 但存在以下缺陷:
1.IO操作 效率問題 2.多使用者競爭資料 3.網路訪問 4.使用者的驗證
所以產生了資料庫。
conclusion:
資料庫伺服器-:執行資料庫管理軟體
資料庫管理軟體:管理-資料庫
資料庫:即資料夾,用來組織檔案/表
表:即檔案,用來存放多行內容/多條記錄
二、常見的資料庫
關係型 資料之間存在某種關聯關係 資料存在硬碟內 速度慢
Oracle ------ 目前最好關係型資料庫,體現在使用者管理,分散式, 商業用途收費
Mysql ------ 免費開源,功能支援沒有Oracle強 但是足以滿足中小企業使用, 先後被Sun 和 Oracle 收購
Mysql創始人wedenius擔心 Mysql會閉源 於是另起灶爐 搞了MarriaDB
MariaDB和Mysql 使用方法一模一樣
SqlServer ------- 屬於微軟生態鏈,需要和windows配合使用
DB2 ------IBM開發的大型關係型資料庫 ,收費的,通常與硬體捆綁銷售
非關係型 資料以key -value的形式來儲存 資料存在記憶體中 速度快
MemCache
三、資料庫的相關概念
1、age = 18 一個變數 無法描述清楚資料 稱之為一個欄位
2、age = 18,name = Jack,genger = man 一堆變數在一起,可以描述清楚資料 稱之為一條記錄 對應著檔案中的一行
3、檔案需要分門別類 每個檔案儲存不同的數 一個檔案稱之為表 檔案越來越多 得分資料夾
4. 一個檔案稱之為庫
資料庫中包含所有內容: 欄位(列) 記錄 表 庫
DBMS資料庫管理系統
資料庫伺服器 : 一個庫可以包含多個表一個表可以包含多條記錄一條記錄中有多個欄位
資料庫是什麼,本質上就是一套C/S架構得socket軟體
四、安裝資料庫與配置使用環境
mac安裝方法:
ofollow,noindex"> https://www.jianshu.com/p/fd3aae701db9
win10安裝方法:
https://blog.csdn.net/weixin_41557632/article/details/78943248
注意:
1.程式碼介面版 傻瓜式安裝記住初始密碼
2.綠色解壓版
1.5.7以後的版本需要先初始化 mysqld --initialize-insecure
2.啟動需要先進入安裝目錄比較麻煩 需要新增到環境變數 開啟環境變數 將mysql安裝目錄下的bin加入path變數
3.將mysqld 加入到windows的系統服
4.綠色版修改預設密碼 修改預設密碼需要先登入成功 執行update語句直接修改 user表中的密碼
5.7版本: update mysql.user set authentication_string = password("root") where user = "root"; 5.6版本: update mysql.user set password = password("root") where user = "root";
修改密碼方式2 不需要登入 需要知道舊密碼
mysqladmin -uroot -p舊密碼 password 123
破解密碼,當忘記密碼時 無法登入 也就不能值執行update語句
思路:
1.啟動伺服器時 控制它不要載入授權表 2.無密碼登入伺服器 3.執行update mysql.user set authentication_string = password("root") where user = "root" 4.重啟伺服器
用到的系統指令:
mysqld 直接執行伺服器程式 mysqld --skip-grant-tables 跳過授權表 用於重設密碼 tasklist | findstr mysqld taskkill /f /pid 結束伺服器程式 mysql 執行客戶端程式 -u使用者名稱 -p密碼 -h主機地址 -P埠號 mysqld --install 將mysqld註冊當windows服務中 在服務中叫SQL/">MySQL windows就是綁定了一個exe程式 sc delete mysql 刪除windows服務 exit 退出客戶端
配置檔案放在安裝路徑根目錄中 就是和bin同級名稱必須叫my.ini #客戶端的配置 [client] #mysql這個客戶端的配置 [mysql] user = root password = root default-character-set = utf8 #伺服器端的配置 [mysqld] character-set-server = utf8 修改預設編碼
1. 5.7需要初始化 2. 5.6遊客模式沒有密碼可以登入 但是無法操作資料 只能看到 information_schema mysql 3. 5.7中 data資料存放目錄 是由初始化時決定 帶介面的 在C:\ProgramData中 不帶介面的就在安裝目錄中 5.6就在安裝目錄中 4.密碼儲存欄位名 在5.6中時password5.7中叫authentication_string Mysql5.6版 與5.7版的區別
五、初識Mysql語句 (每句命令操作後記得加; )
庫的相關操作:
增 create database 庫名稱 ; 刪 drop database 庫名稱 ; 改 alter database 庫名稱 要改的屬性名稱 ; alter database db1 DEFAULT CHARACTER SET utf8; alter database db1 CHARSET utf8; 注意 在mysql中 utf-8 不能帶- 寫成utf8 查 show databases檢視所有資料庫 ; show create databases 庫名稱 檢視建庫的語句 ;
1.不能使用純數字 2.可以是數字 字母 下滑線的組合 3.可以下滑線開頭 4.不能是關鍵字 如create 大致和python相同 不區分 大小寫 庫命名規範
表相關的操作:
增 建表時要明確資料庫 use db1; create table 表名稱(欄位名 型別(長度),....); create table dog(nikename char(10),gender char(1),age int); #建立時同時指定資料庫 create table 庫名稱.表名稱(欄位名 型別(長度),....); 刪 drop table 表名; 改 alter table 表名稱 drop|change|modify|add drop 欄位名稱 alter table dog drop color; change 舊的欄位名 新的欄位名 新的型別 alter table dog change gender sexchar(2); modify 欄位名 新的型別 alter table dog modify color char(5); add 欄位名稱 型別 alter table dog add color char(10); 重命名錶 rename table 舊錶名稱 to 新表名稱 rename table dog to dogtable; 修改表的屬性 alter table 表名 屬性名 值 alter table dogtable DEFAULT CHARSET gbk; 查 show tables;檢視所有表 desc 表名稱;查看錶結構 show create table 表名;查建表語句
記錄相關操作:
增 insert into 表名 values(值1,值n,....) 要求值得順序 個數 必須與表字段完全對應 另一種寫法 insert into 表名(欄位名1,欄位名n,....) values(值1,值n,....) 可以選擇性得插入某些欄位 要求值得順序 必須與表名後面宣告得欄位一致 刪 delete from 表名 where 欄位名稱 = 值 沒有條件的話刪除全部資料 改 update 表名 set 欄位名 = 新的值where 欄位名 = 值 沒有條件的話修改全部 查 select *from 表名;*表示萬用字元 檢視所有欄位 select 欄位名稱1,欄位名2..from 表名;