初始資料庫

2022-03-15 14:57:46 字數 4574 閱讀 4745

"""

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

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

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

關係型資料庫

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;

資料庫 1 初始 資料庫

alpha版 一般只在開發公司內部使用,不對外公開,測試 自我檢查的版本 beta版 一般是開發完也測試完的版本,一般不會出現比較大的效能bug 一般我們不用,阿里 去哪兒會使用這個版本,有些新功能,內部有高手能調,也能評估新功能的效能 rc版 根據beta版測試之後收集到一些bug等在進行完善的乙...

資料庫初始指令碼

新建查詢,將下面的指令碼執行 create database gamedb gouse gamedb gocreate table users id varchar 12 name varchar 20 pwd varchar 15 note varchar 50 photo image const...

python 資料庫初始

1 數字 2 是乙個整數的例子。長整數 不過是大一些的整數。3.23和52.3e 4是浮點數的例子。e標記表示10的冪。在這裡,52.3e 4表示52.3 10 4。5 4j 和 2.3 4.6j 是複數的例子,其中 5,4為實數,j為虛數,數學中表示複數是什麼?int 整型 在32位機器上,整數的...