初識資料庫

2022-02-16 16:17:02 字數 4673 閱讀 3845

目錄啟動

sql語句初識

環境變數配置及系統服務製作

設定密碼

破解密碼

統一編碼

基本sql語句

"""

本質其實就是一款基於網路通訊的應用程式

那其實每個人都可以開發一款資料庫軟體 因為它僅僅就是乙個基於網路通訊的應用程式

也就意味著資料庫軟體其實有很多很多

關係型資料庫

mysql、oracle、db2、access、sql server

非關係型資料庫

redis、mongodb、memcache

"""# 關係型

1 資料之間彼此有關係或者約束

男生表和前女友表

2 儲存資料的表現形式通常是以**儲存

name password hobby

jason 123 學習

egon 123 女教練

tank 123 吃生蠔

每個欄位還會有儲存型別的限制

比如姓名只能存字串...

# 非關係型

儲存資料通常都是以k,v鍵值對的形式

"""

任何基於網路通訊的應用程式底層用的都是socket

-服務端

-基於socket通訊

-收發訊息

-sql語句

-客戶端

-基於socket通訊

-收發訊息

-sql語句

""" 如何解決語言溝通的障礙?

# 1 讓服務端相容所有的語言(乙個人精通多國語言)

# 2 採用統一的語言(sql語句)

"""

庫 》 資料夾

表 》 檔案

記錄 》 檔案內一行行的資料

name password hobby

jason 123 學習

egon 123 女教練

tank 123 吃生蠔

表頭 **的第一行字段

字段 name、password、hobby

"""

"""

在it界 一般都不會輕易的使用最新版本的軟體,因為新版本可能會出現各種問題

(你原本專案跑的好好的 非要畫蛇添足更新版本 然後專案奔潰)

小段子:

更新完沒事 那麼你還是乙個普通員工

更新完出事 那麼你就是一名"烈士"

"""# mysql有很多版本(5.6、5.7、8.0) 目前企業裡面用的比較多的還是5.6左右

參考**:

為了學習方便我們將服務端和客戶端都在本地啟動,後期到了公司服務端會專門跑在一台伺服器上,所有人基於網路連線服務端操作

mysql服務端與客戶端

"""

服務端mysqld.exe

客戶端mysql.exe

"""

注意

"""

在前期配置mysql的時候 cmd終端盡量以管理員的身份執行

windows+r 輸入cmd 進入的是普通使用者終端 有一些命令是無法執行的

搜尋cmd右鍵 以管理員身份執行

"""

"""

1 mysql中的sql語句是以分號作為結束的標誌

2 基本命令

show databases; 檢視所有的庫名

3 連線服務端的命令可以簡寫

mysql -uroot -p

4 當你輸入的命令不對 又不想讓服務端執行並返回報錯資訊 可以用\c取消

錯誤命令 \c

5 客戶端退出 退出命令加不加分號都可以執行

quit

exit

6 當你在連線服務端的時候 發現只輸入mysql也能連線

但是你不是管理員身份 而只是乙個遊客模式

"""

小知識點補充

"""

1 如何檢視當前具體程序

tasklist

tasklist |findstr mysqld

2 如何殺死具體程序(只有在管理員cmd視窗下才能成功)

taskkill /f /pid pid號

"""

環境變數配置

"""

每次啟動mysqld需要先切到對應的檔案路徑下才能操作太多繁瑣

將mysqld所在的檔案路徑新增到系統環境變數中

"""

還是繁瑣 需要起兩個cmd視窗 不好

將mysql服務端製作成系統服務(開機自啟動)

"""

檢視當前計算機的執行程序數

services.msc

將mysql製作成系統服務

mysqld --install

移除mysql系統服務

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 password=password(123456) where user='root' and host='localhost';

"""真正儲存使用者表的密碼字段 儲存的肯定是密文

只有使用者自己知道明文是什麼 其他人都不知道 這樣更加的安全

密碼比對也只能比對密文

"""# 4 立刻將修改資料刷到硬碟

flush privileges;

# 5 關閉當前服務端 然後以正常校驗授權表的形式啟動

ps:大部分程式的業務邏輯其實都是增刪改查

"""

辛辛苦苦乙個月 只為了一條sql語句(將自己賬戶的錢修改一下)

"""

針對庫的增刪改查(資料夾)

# 增

create database db1;

create database db2 charset='gbk';

# 查show databases; # 查所有

show create database db1; # 查單個

# 改alter database db2 charset='utf8';

# 刪drop database db2;

針對表的增刪改查(檔案)

"""

在操作表(檔案)的時候 需要指定所在的庫(資料夾)

"""# 檢視當前所在的庫的名字

select database();

# 切換庫

use db1;

# 增create table t1(id int,name char(4));

# 查show tables; # 檢視當前庫下面所有的表名

show create table t1;

describe t1; # 支援簡寫 desc t1;

# 改alter table t1 modify name char(16);

# 刪drop table t1;

"""create table db2.t1(id int); 也可以用絕對路徑的形式操作不同的庫

"""

針對資料的增刪改查(一行行資料)

"""

一定要先有庫 有表 最後才能操作記錄

"""# 增

insert into t1 values(1,'jason');

insert into t1 values(1,'jason'),(2,'egon'),(3,'tank');

# 查select * from t1; # 該命令當資料量特別大的時候不建議使用

select name from t1;

# 改update t1 set name='dsb' where id > 1;

# 刪delete from t1 where id > 1;

delete from t1 where name='jason';

# 將表所有的資料清空

delete from t1;

初識資料庫

隨著vb學習任務的結束,我又迎來了新的學習任務 資料庫。剛接觸資料庫真是一頭霧水啊,看哪哪覺得陌生,那麼什麼是資料庫呢?下面蒐集的這些資料希望對我們初學者有所幫助。資料庫,顧名思義就是 資料的倉庫 計算機系統經常用來處理各種各樣的,大量的資料,比如使用計算機系統收集超市裡進出貨的清單,某地區的人口資...

初識資料庫

資料庫安裝 版本 postgres 配置環境變數,path中新增解壓後bin檔案路徑 安裝 執行cmd 解壓資料夾下 執行指令 initdb locale c e utf 8 d 安裝路徑 data 註冊服務 以管理員身份執行cmd 輸入指令 pg ctl register n 服務名稱 d 安裝路...

初識資料庫

一 什麼是資料庫?資料庫就是將資訊規範化並使之電子化,形成電子資訊 庫 以便利用計算機對這些資訊進行快速有效的儲存,檢索,統計與管理。資料庫起源於規範化 表 table 的處理。table 以按行按列形式組織及展現的資料 表中都有什麼呢?table 的構成和關於 table 的常用術語 資料庫與表是...