Day38 資料庫入門學習

2022-04-19 03:09:49 字數 3137 閱讀 9201

怎麼才能把資料永久儲存下來,根據我們以前的所學,檔案處理就可以將資料永久儲存。

但是檔案處理有很大的問題

1.管理不方便

2.檔案操作效率問題

3.乙個程式不太可能僅執行在同一臺電腦上

那麼為了解決這些問題,採取了提高計算機效能的方式

1.垂直擴充套件 指的是更換效能更好的硬體

2.水平擴充套件 指的就是新增更多的計算機 把任務分配給每一台 (分布式計算)

分布式計算 的好處

1.其中某一台掛了 不會導致整個系統癱瘓 穩定性高

2.理論上效能可以無限擴充套件

基於分布式計算,我們可以把資料與應用程式分離:把檔案存放於一台機器,然後將多台機器通過網路去訪問這台機器上的檔案(用socket實現),即共享這台機器上的檔案,共享則意味著競爭,會發生資料不安全,需要加鎖處理

根據以上描述,我們就需要編寫一套程式,乙個執行在客戶端,乙個執行在服務端,於是有人將此類程式寫成乙個專門的處理軟體,這就是mysql等資料庫管理軟體的由來

本質上就是一套軟體 由伺服器端 和 客戶端組成 c/s b/s

早些年 沒有資料庫的時候 程式設計師要想實現功能 得自己寫一套socket 並解決上述問題

於是就有了資料庫軟體公司

sqlserver :僅支援windows

mysql:免費 開源 效能也不差 mysql 先後被sun 和 oracle收購 

oracle:目前最牛逼的資料庫 收費很高 

db2:imb 收費的 一般與計算機繫結銷售

mongodb

redis

memcache

資料:用於記錄某事物狀態的符號 或 別的形式 數字 音訊

age = 20

記錄:就是乙個事物的典型特徵的組合 在檔案中體現為一行文字

yyh,20,man,180

表:就是乙個乙個的檔案

庫:就是乙個資料夾

資料庫管理系統(dbms):就是乙個軟體用來管理庫的 c/s程式

資料庫伺服器:執行著dbms的計算機稱為資料庫伺服器

變數名:mysql_home

變數值:c:\program files\mysql\mysql-5.6.41-winx64(你的電腦的mysql的存放位置)

path裡新增:%mysql_home%\bin;

mysqld -install

mysqld --initialize-insecure 

mysqld

mysql -uroot -p #用mysql自帶的客戶端登入伺服器

(-u 使用者名稱 -p 密碼 -h 伺服器的ip -p埠號 在本機上執行客戶端不需要指的 -h -p)

mysqladmin -uroot -p舊密碼 password 新密碼(如果是密碼為空,就不用-p)

三種方法:

1.刪除儲存密碼的檔案

2.重灌mysql

3.可以在啟動伺服器時 告訴他 讓他不要讀取密碼檔案

1.在服務端mysqld -skip-grant-tables

2.無密碼登入伺服器

3.在客戶端就可以跳過密碼的階段直接進入伺服器,使用update 來更新你的密碼 在msyql.user表中

在客戶端 update mysql.user set password = password(修改後的密碼) where user = "root" and host="localhost";

4.重啟服務 驗證新密碼

資料庫伺服器中存放的是 庫(檔案加) 表(檔案) 表裡面是記錄(一行資料)

建立create database 資料庫名 charset 編碼名稱;

修改alter database 資料庫名 charset gbk;#修改指定庫的編碼

查show databases;#檢視所有資料

show create database 資料庫名;#檢視建庫語句

刪除drop database 資料庫名; 

ues 庫名#進入庫中,可以對該庫中的表進行操作

建立create table 表名(欄位名 型別,欄位名 型別。。。。);#create table t1(id int,name char);

修改alter table 表名 add | drop | modify | change;

add 欄位名 資料型別(長度);#新增新欄位名與型別(char預設為1位元組,int預設為11)

drop 欄位名;#刪除指定字段

modify  欄位名 新型別;#修改指定欄位的型別

change 舊欄位名 新的欄位名 新型別;#修改指定欄位的欄位名與型別

alter table t1 charset gbk;#修改t1表的字元編碼

rename table 舊表名 to 新錶名;#修改表名

查show tables;#顯示該庫中的所有表

show create table 表名;# 檢視建表語句

desc 表名;#  檢視表結構(字段)

刪除drop table 表名;#刪除表

truncate table 表名;#重建表(清空資料);

新增insert into 表名 values(值1...),(值1....)....;#插入時注意 值得順序 和 型別必須與表結構一致

修改update 表名 set 欄位名=新的值 where 條件;#可以同時修改多行 用逗號來隔開,字段沒有條件就全改

查select *|欄位名 from 表名  where 條件;#根據where的條件,在指定表裡尋找指定字段,並顯示資訊(*表示所有字段)

刪除delete from 表名 where 條件;#沒有條件就全刪

MySql入門學習 DAY38 資料庫基礎

今日內容 認識資料庫 mysql 啟動伺服器 註冊系統服務 修改與破解密碼 編碼設定 sql語句基礎 資料儲存引擎 資料庫 儲存資料的倉庫 儲存資料的方式 python中變數 檔案處理 為什麼不用變數和檔案儲存資料?變數是儲存於記憶體中無法永久儲存 檔案處理 效率問題,檔案處理是操作硬碟的,是乙個i...

資料庫學習Day1

資料庫 mysql 首先確定在環境變數path裡是否有mysql路徑 開啟命令列cmd 輸入mysql u root p 密碼 輸入show databases 顯示資料庫 輸入 exit 退出資料庫 使用mysqladmin命令 mysqladmin u root p舊密碼 password 新密...

mysql資料庫入門學習

一 設計web資料庫 首先要介紹資料庫裡的一些基本概念,列,行,值,鍵。這些概念都比較簡單,比較要重視的是主鍵和外來鍵。鍵,是表中的標誌列。乙個鍵可能由幾列組成。主關鍵字 primary key 是表中的乙個或多個字段,它的值用於唯一地標識表中的某一條記錄。在兩個表的關係中,主關鍵字用來在乙個表中引...