1. 程式人生 > >【MySQL】初識資料庫及簡單操作

【MySQL】初識資料庫及簡單操作

一、資料庫概述

1.1 什麼是資料(Data)

描述事物的符號記錄稱為資料,描述事物的符號既可以是數字,也可以是文字、圖片,影象、聲音、語言等,資料由多種表現形式,它們都可以經過數字化後存入計算機。

1.2 什麼是資料庫(DataBase,簡稱DB)

資料庫即存放資料的倉庫,只不過這個倉庫是在計算機儲存裝置上,而且資料是按一定的格式存放的。

資料庫是長期存放在計算機內、有組織、可共享的資料。資料庫中的資料按一定資料模型組織、描述和儲存,具有較小的冗餘度、較高的資料獨立性和易擴充套件性,並可為各種使用者共享。

1.3 什麼是資料庫管理系統(DataBase Management System 簡稱DBMS)

瞭解了Data與DB的概念後,如何科學地組織和儲存資料,如何高效獲取和維護資料成了關鍵。這就用到了一個系統軟體---資料庫管理系統,如MySQL、Oracle、SQLite、Access、MS SQL Server等。

mysql主要用於大型門戶,例如搜狗、新浪等,它主要的優勢就是開放原始碼,因為開放原始碼這個資料庫是免費的,他現在是甲骨文公司的產品。

oracle主要用於銀行、鐵路、飛機場等。該資料庫功能強大,軟體費用高。也是甲骨文公司的產品。

sql server是微軟公司的產品,主要應用於大中型企業,如聯想、方正等。

1.4 資料庫伺服器、資料管理系統、資料庫、表與記錄的關係(重點理解!!!)

資料庫伺服器-:執行資料庫管理軟體的計算機

資料庫管理軟體:管理資料庫的軟體,如MySQL、Oracle、SQLite、Access、MS SQL Server

資料庫:即資料夾,用來組織檔案/表

表:即檔案,用來存放多行內容/多條記錄

二、MySQL介紹

2.1 MySQL是什麼

mysql就是一個基於socket編寫的C/S架構的軟體
客戶端軟體
  mysql自帶:如mysql命令,mysqldump命令等
  python模組:如pymysql

2.2 資料庫管理軟體分類

主要分為兩大類:

關係型:如sqllite,db2,oracle,access,sql server,MySQL,(注意:sql語句通用)


非關係型:mongodb,redis,memcache

可以簡單的理解為:
    關係型資料庫需要有表結構
    非關係型資料庫是key-value儲存的,沒有表結構

2.3 下載和安裝

以windows版本為例

1、下載:MySQL Community Server 5.7.16 (資料庫管理軟體不一定非要裝最新版本,穩定性才是最重要的
http://dev.mysql.com/downloads/mysql/

2、解壓
如果想要讓MySQL安裝在指定目錄,那麼就將解壓後的資料夾移動到指定目錄,如:C:\mysql-5.7.16-winx64

3、新增環境變數
【右鍵計算機】--》【屬性】--》【高階系統設定】--》【高階】--》【環境變數】--》【在第二個內容框中找到 變數名為Path 的一行,雙擊】 --> 【將MySQL的bin目錄路徑追加到變數值中,用 ; 分割】

4、初始化
mysqld --initialize-insecure

5、啟動MySQL服務
mysqld # 啟動MySQL服務

6、啟動MySQL客戶端並連線MySQL服務
mysql -u root -p # 連線MySQL伺服器

通過以上步驟,問題還沒有徹底解決,因為在執行【mysqd】啟動MySQL伺服器時,當前終端會被hang住,那麼做一下設定即可解決此問題,即將MySQL服務製作成windows服務。

注意:

--install前,必須用mysql啟動命令的絕對路徑

# 製作MySQL的Windows服務,在終端執行此命令:
"c:\mysql-5.7.16-winx64\bin\mysqld" --install

# 移除MySQL的Windows服務,在終端執行此命令:
"c:\mysql-5.7.16-winx64\bin\mysqld" --remove


註冊成服務之後,以後再啟動和關閉MySQL服務時,僅需執行如下命令:
# 啟動MySQL服務
net start mysql

# 關閉MySQL服務
net stop mysql

2.4 登入設定密碼

初始狀態下,管理員root,密碼為空,預設只允許從本機登入localhost
設定密碼
[[email protected]]# mysqladmin -uroot password "123"        設定初始密碼 由於原密碼為空,因此-p可以不用
[[email protected]]# mysqladmin -uroot -p"123" password "456"        修改mysql密碼,因為已經有密碼了,所以必須輸入原密碼才能設定新密碼

命令格式:
[[email protected]]# mysql -h172.31.0.2 -uroot -p456
[[email protected]]# mysql -uroot -p
[[email protected]]# mysql         以root使用者登入本機,密碼為空

2.5 破解密碼

windows平臺下,5.7版本mysql,破解密碼的兩種方式:

方式一

#1 關閉mysql
#2 在cmd中執行:mysqld --skip-grant-tables
#3 在cmd中執行:mysql
#4 執行如下sql:
update mysql.user set authentication_string=password('') where user = 'root';
flush privileges;

#5 tskill mysqld #或taskkill -f /PID 7832
#6 重新啟動mysql

以上需要右鍵以管理員方式開啟cmd

方式二

#1. 關閉mysql,可以用tskill mysqld將其殺死
#2. 在解壓目錄下,新建mysql配置檔案my.ini
#3. my.ini內容,指定
[mysqld]
skip-grant-tables

#4.啟動mysqld
#5.在cmd裡直接輸入mysql登入,然後操作
update mysql.user set authentication_string=password('') where user='root and host='localhost';

flush privileges;

#6.註釋my.ini中的skip-grant-tables,然後啟動myqsld,然後就可以以新密碼登入了

2.6 統一字元編碼

強調:配置檔案中的註釋可以有中文,但是配置項中不能出現中文

1.修改配置檔案

在mysql的解壓目錄下,新建my.ini,然後配置如下(以mysql5.5以上為例):

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

2. 重啟服務

3. 檢視修改結果:

三、初識sql語句

SQL(Structured Query Language ),即即結構化查詢語言。

SQL語言主要用於存取資料、查詢資料、更新資料和管理關係資料庫系統,SQL語言由IBM開發。SQL語言分為3種類型:
 
DDL語句   資料庫定義語言: 資料庫、表、檢視、索引、儲存過程,例如CREATE DROP ALTER
DML語句   資料庫操縱語言: 插入資料INSERT、刪除資料DELETE、更新資料UPDATE、查詢資料SELECT
DCL語句   資料庫控制語言: 例如控制使用者的訪問許可權GRANT、REVOKE

操作資料夾(庫) #操作資料庫就是操作資料夾:


create database db1 charset utf8;

show create database db1;
show databases;
改(僅改字元編碼)
alter database db1 charset gbk;

drop database db1;

操作檔案(表)

切換資料夾: use db1;
檢視當前所在資料夾:select database();
增
    create table t1(id int,name char);
查
    show create table t1;
    show tables;
    desc t1;
改
    alter table t1 modify name char(6);
    alter table t1 change name NAME char(7);
刪
    drop table t1;

操作檔案內容(記錄):

增
    insert t1(id,name) values(1,"egon"),(2,"egon2"),(3,"egon3");
查
    select id,name from db1.t1;
    select * from db1.t1;
改
    update db1.t1 set name="SB"; #全部都改了
    update db1.t1 set name="alex" where id=2;
刪
    delete from t1;  #全部刪除
    delete from t1 where id=2;

部分知識點總結:

1.資料庫命名規則:

  • 可以由字母,數字,下劃線及特殊符號組成;
  • 字母區分大小寫;
  • 不能重名,不能用關鍵字命名;
  • 不能僅使用數字,且最長為128位。

2.如果在cmd輸入命令時候,輸入錯誤,可以使用\c跳出

3.如果在cmd輸入命令時候,輸入錯誤,且指令中帶有引號,需要用輸入引號和\c跳出;

4.\s檢視配置資訊