1 資料庫 MySQL介紹

2021-10-05 15:42:09 字數 4387 閱讀 2924

資料庫本質是一款基於網路通訊的應用程式,用於儲存和管理資料的倉庫。

資料庫實現了:資料統一存放且格式固定,即資料存放於服務端的特定位置,所有客戶端都必須去該位置運算元據。

資料庫主要分為兩類:關係型資料庫和非關係型資料庫。

關係型資料庫:

資料之間彼此有約束或聯絡;

通常以**的形式儲存資料,字段可以限制儲存資料的型別。

代表:mysql,oracle,access,sql server,sqlite

非關係型資料庫

通常以鍵值對的形式儲存資料;

速度比較快,可用於資料快取;

代表:mongodb (最像關係型資料庫的非關係型資料庫), redis,memcache

2.1 重要概念

名稱模擬

庫資料夾表檔案

記錄**檔案內每一行資料

表頭**檔案的開頭部分,一般是第一行字段

字段欄位名 + 字段型別

表單檔案中表頭以外的資料

2.2 服務端和客戶端

mysql/bin目錄下

服務端:mysqld.exe (mysql daemon,監聽3306埠)

客戶端:mysql.exe

啟動服務端

c:\mysql\bin>mysqld
啟動客戶端連線本地服務端

c:\mysql\bin>mysql -h 127.0.0.1 -p 3306 -uroot -p
簡寫,可以省略ip位址和埠號

c:\mysql\bin>mysql -uroot -p
常用的埠號

mysql:3306

redis:6379

mongodb:27017

django:8000

flask:5000

tomcat:8080

第一次以管理員使用者root登入,預設沒有密碼;

退出mysql可以使用命令 quit 或者 exit,不需要分號;

連線服務端時如果僅輸入mysql,是以遊客模式登入,不是以管理員使用者登入,因此可以使用的功能有限;

程序相關

檢視當前具體程序

tasklist

tasklist |findstr mysqld

殺死程序,要以管理員身份登入cmd。

taskkill /f /pid [pid號]
服務相關

需要以管理員身份執行cmd

建立mysqld.exe服務

c:\mysql\bin>mysqld --install
移除mysqld.exe服務

c:\mysql\bin>mysqld --remove
mysql中的sql語句是以分號作為一條語句的結束標準;

可以在語句結尾新增 \c 來放棄執行本語句,此時不需要分號。

3.1 基本命令

檢視所有的資料庫名稱

show databases;
+--------------------

+| database |

+--------------------

+| information_schema |

| mysql |

| performance_schema |

| test |

+--------------------

+4 rows in set

(0.00 sec)

在mysql主目錄下的data資料夾中,預設有三個資料夾,分別為mysql,performance_schema,test,與上面輸出的後三個相對應,而information_schema是用於儲存mysql伺服器所維護的所有其它資料庫的資訊。

修改密碼,在cmd中輸入

c:\mysql\bin>mysqladmin -uroot -p[原密碼] password[新密碼]
破解密碼

方法:繞過使用者名稱和密碼認證

首先關閉mysql服務端;

然後以跳過授權表的方式啟動mysql服務端;

c:\mysql\bin>mysqld --skip-grant-tables
此時登入客戶端不需要輸入密碼;

c:\mysql\bin>mysql -uroot -p
重置當前使用者的密碼;

update mysql.user set password=password(

[新密碼]

) where user='root' and host='localhost'

;

立刻將資料從記憶體刷到硬碟;

flush privileges;
最後需要關閉服務端,以正常校驗授權表的形式重新啟動服務端。

3.2 修改配置檔案

mysql預設的配置檔案是 my-default.ini,程式啟動時會載入配置檔案中的設定,這個配置檔案不可修改。

自定義配置需要新建配置檔案my.ini。

[mysqld]

# 服務端啟動時載入的配置

[mysql]

# 客服端啟動時載入的配置

[client]

# 其它程式語言編寫的客戶端啟動時載入的配置

例如,統一字元編碼為utf-8,並且實現在客戶端管理員不需要使用者名稱密碼自動登入。

[mysqld]

character-

set-server=utf8

collation-server=utf8_general_ci

[client]

default-character-

set=utf8

[mysql]

default-character-

set=utf8

user="root"

password=123456

配置完成後需要重啟mysql服務端和客戶端。

4.1 庫

create database db1;

create database db2 charset='gbk'

show databases;

show create database db2;

alter database db2 charset='utf8'

;

drop database db2;
4.2 表

檢視當前所在庫的名字

select database(

);

切換庫

use db1;

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

create table db2.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;
4.3 資料

insert into t1 values(1,

'tom');

insert into t1 values(2,

'mary'),

(3,'ben'

);

select

*from t1;

select id, name from t1;

update t1 set name='jean' where id = 2;

delete from t1 where id > 1;

NoSQL資料庫介紹(1)

最近看了一些英文文件,其中有一篇把分布式系統和第一代nosql的大背景介紹得很清楚,雖然文件本身是10年寫的,而且沒有介紹某種特定nosql資料庫的使用,但很多思想性的東西到今天看都非常有價值,於是決定翻譯一下,翻譯中的各種bug請各位指出。原文可以在 找到。另外由於工作量浩大 原始文件有140多頁...

MySQL1 資料庫MySQL的簡單的介紹與安裝

1.mysql 計算機 二進位制資料 2.2 資料如何儲存?賬號密碼該怎麼儲存?能存到excel?可以存.會有什麼問題?安全。儲存限制。2.3 資料庫管理系統 dbms rdbms 關係型資料庫 oracle mysql mssql pgnosql 非關係型資料庫 mongodb esredis 雲...

MySQL資料庫引擎介紹

如果你是個賽車手,並且按一下按鈕就能夠立即更換引擎而不需要把車開到車庫裡去換,那會是什麼感覺呢?mysql資料庫為開發人員所做的就好像是按按鈕換引擎 它讓你選擇資料庫引擎,並給你一條簡單的途徑來切換它。mysql的自帶引擎肯定是夠用了,但是在有些情況下,其他的引擎可能要比手頭所用更適合完成任務。如果...