MySql的引入 數據庫概述 MySql安裝和基本管理 初始mysql語句

 

01-MySql的前戲

 

MySql的前戲

在學習Mysql以前,咱們先來想一下一開始作的登陸註冊案例,當時咱們把用戶的信息保存到一個文件中:css

#用戶名 |密碼
root|123321 alex|123123

上面文件內容的規則是我本身定義的,你要想用我這個程序,必須按照個人規則去執行,但凡不是這個規則,就沒有交流的餘地。html

在一開始的時候文件格式的規定是沒有規範的,後面學到模塊的時候逐漸知道了目錄規則,咱們會把文件放到db目錄下。python

相似下面目錄結構:mysql

 

對於上面db目錄中,是能夠存放多個文件的,而且文件中能夠有多行數據。redis

 

那麼問你們一個問題,若是說上面那個軟件是我寫好的,在一臺服務器或者一臺機器上安裝了我寫好的軟件。sql

如今有張三和李四兩我的都安裝了我這個軟件,張三註冊了一個用戶,李四也註冊了一個用戶,那麼本身註冊的用戶應該是本身用的。那麼這兩個用戶是不共享的,mongodb

因此這個軟件證實我寫的不太好,它不能共享,這種相似單機的軟件是很差的。數據庫

而後呢,我如今將我寫的這個軟件中目錄修改一下,將db目錄移除。如今將單機程序(本身的DB)改變成也是單機程序(公用DB)。windows

 

那麼以前給你們介紹過,凡是交互操做,是離不開scoket的,那麼如今我這邊有個公用DB和一個scoket服務端,而後在張三和李四那邊有scoket客戶端。張三和李四此時輸入用戶名和密碼,如今我這邊scoket服務端某個目錄接收用戶輸入的用戶名和密碼,看一下該用戶名存在不存在,若是存在返回true,若是不存在返回false。也就是說重點的內容咱們把db目錄放到某臺服務器上。瀏覽器

那麼上面這個例子呢,其實就給你們慢慢的引出來mysql了,mysql呢其實就一個軟件,這個軟件安裝到某臺電腦上或者某臺服務器上,那麼如今只要我告訴它建立一個文件目錄或者建立文件,那麼mysql就自動幫咱們建立了,好比說咱們再在文件中添加一條數據,那麼它也幫咱們完成。

 

總結一句話:其實mysql就是用於管理咱們的文件的一個軟件。

 

那麼對於mysql這個軟件來講有兩個軟件

複製代碼
---服務器軟件
     - socket服務端
     - 本地文件操做
   - 解析指令(mysql語句) ---客戶端軟件 - socket客戶端 - 發送指令
   - 解析指令(mysql語句)
複製代碼

解釋:

對於服務器軟件中的socket服務器是一直開着,客戶端得須要鏈接,而且還有建立文件、刪除文件等等的操做

對於客戶端軟件中的scoket客戶端,咱們得須要發送指令去命令scoket服務端對文件進行操做。

 

你們應該知道ftp的項目,上傳項目和下載項目的命令是不同的。那麼對於mysql中的客戶端和服務端也會有些指令的操做,那麼在這兩個端中應該是有解析指令的過程,這個指令只有mysql這個軟件知道,這種指令就是mysql語句。

再想一想咱們寫的html、css、js.這些比如就是咱們客戶端寫好的語法,而後瀏覽器充當了服務端的角色去解析咱們的的語法,最後來渲染出來結果。

02-數據庫概述

 

什麼是數據(Data)

複製代碼
描述事物的符號記錄稱爲數據,描述事物的符號既能夠是數字,也能夠是文字、圖片,圖像、聲音、語言等,數據由多種表現形式,它們均可以通過數字化後存入計算機

在計算機中描述一個事物,就須要抽取這一事物的典型特徵,組成一條記錄,就至關於文件裏的一行內容,如:

1 xiaomage,male,18,1999,山東,計算機系,2017,oldboy
複製代碼

 

單純的一條記錄並無任何意義,若是咱們按逗號做爲分隔,依次定義各個字段的意思,至關於定義表的標題

這樣經過表格咱們很清楚的知道了某人的詳細信息。

 

什麼是數據庫(DataBase,簡稱DB)

數據庫即存放數據的倉庫,只不過這個倉庫是在計算機存儲設備上,並且數據是按必定的格式存放的

過去人們將數據存放在文件櫃裏,如今數據量龐大,已經再也不適用

數據庫是長期存放在計算機內、有組織、可共享的數據便可。

數據庫中的數據按必定的數據模型組織、描述和儲存,具備較小的冗餘度、較高的數據獨立性和易擴展性,並可爲各類 用戶共享

 

什麼是數據庫管理系統(DataBase Management System)

在瞭解了Data與DB的概念後,如何科學地組織和存儲數據,如何高效獲取和維護數據成了關鍵

這就用到了一個系統軟件---數據庫管理系統

如MySQL、Oracle、SQLite、Access、MS SQL Server

mysql主要用於大型門戶,例如搜狗、新浪等,它主要的優點就是開放源代碼,由於開放源代碼這個數據庫是免費的,他如今是甲骨文公司的產品。
oracle主要用於銀行、鐵路、飛機場等。該數據庫功能強大,軟件費用高。也是甲骨文公司的產品。
sql server是微軟公司的產品,主要應用於大中型企業,如聯想、方正等。

數據庫服務器、數據管理系統、數據庫、表與記錄的關係(重點理解!!!)

記錄:1 xxx 324245234 22(多個字段的信息組成一條記錄,即文件中的一行內容)

表:student,scholl,class_list(即文件)

數據庫:oldboy_stu(即文件夾)

數據庫管理系統:如mysql(是一個軟件)

數據庫服務器:一臺計算機(對內存要求比較高)

 

總結:

數據庫服務器-:運行數據庫管理軟件

數據庫管理軟件:管理-數據庫

數據庫:即文件夾,用來組織文件/表

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

03-MySql安裝和基本管理

 

本節掌握內容:

  • mysql的安裝、啓動

  • mysql破解密碼

  • 統一字符編碼

 

MySQL是一個關係型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下公司。MySQL 最流行的關係型數據庫管理系統,在 WEB 應用方面MySQL是最好的 RDBMS (Relational Database Management System,關係數據庫管理系統) 應用軟件之一。

 

mysql是什麼?

mysql就是一個基於socket編寫的C/S架構的軟件

數據庫管理軟件分類

複製代碼
分兩大類:
  關係型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql語句通用
  非關係型:mongodb,redis,memcache

能夠簡單的理解爲:
    關係型數據庫須要有表結構
    非關係型數據庫是key-value存儲的,沒有表結構
複製代碼

 

mysql的下載安裝

想要使用MySQL來存儲並保存數據,則須要作幾件事情:

  a. 安裝MySQL服務端
  b. 安裝MySQL客戶端
  b. 【客戶端】鏈接【服務端】
  c. 【客戶端】發送命令給【服務端MySQL】服務的接受命令並執行相應操做(增刪改查等)

下載地址:

 

window版本

一、官網去下載

 

二、針對操做系統的不一樣下載不一樣的版本

 

 

3.解壓

若是想要讓MySQL安裝在指定目錄,那麼就將解壓後的文件夾移動到指定目錄,如:C:\mysql-5.6.40-winx64

4.添加環境變量

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

 

5.初始化

 

1
mysqld  - - initialize - insecure

 

 6.啓動mysql服務

mysqld #啓動MySQL服務

 

7.啓動mysql客戶端並鏈接mysql服務端(新開一個cmd窗口)

mysql -u root -p # 鏈接MySQL服務器

 

上一步解決了一些問題,但不夠完全,由於在執行【mysqd】啓動MySQL服務器時,當前終端會被hang住,那麼作一下設置便可解決此問題,即將MySQL服務製做成windows服務

複製代碼
注意:--install前,必須用mysql啓動命令的絕對路徑
# 製做MySQL的Windows服務,在終端執行此命令:
"c:\mysql-5.6.40-winx64\bin\mysqld" --install

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


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

# 關閉MySQL服務
net stop mysql
複製代碼

 

windows下登陸設置密碼

 

打開終端,輸入mysql

輸入mysql提供的函數:select user(); # 查看當前登陸的帳號

當前登陸的默認帳號爲ODBC@localhost

 

 

若是想切到root帳號登陸

執行命令:

mysql -uroot -p

再查看當前用戶:

select user();

管理員爲root(擁有最高權限,管理員帳號),密碼爲空,以無密碼的方式登陸了管理員帳號,是很是危險的一件事情,因此要爲管理員帳號設置密碼

密碼忘記——破解密碼

 

跳過受權方式,直接登陸!!

0.以管理員身份打開cmd

 

2.停掉mysql服務端

C:\WINDOWS\system32>net stop mysql
MySQL 服務正在中止.
MySQL 服務已成功中止。

3.執行以下命令跳過受權表

#跳過受權表
C:\WINDOWS\system32>mysqld --skip-grant-tables
2018-06-09 17:12:38 0 [Warning] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
2018-06-09 17:12:38 0 [Note] mysqld (mysqld 5.6.40) starting as process 6052 ...4.

 4.再次查看

5. 如今能夠任意的更改密碼,執行以下命令

 update mysql.user set authentication_string =password('') where User='root'; 

 

6.刷新權限,執行命令

flush privileges;

7.退出mysql。執行命令:exit,

 

8.讓用戶去加載權限,以管理員身份進入cmd,查看當前mysql進程

1
tasklist |findstr mysql   #查看當前mysql的進程

 

9.殺死當前的進程,執行以下命令

taskkill /F /PID 6052  # 殺死當前的進程pid

10.再次執行以下操做,還原

 

統一字符編碼

進入mysql客戶端,執行\s

 

 

爲了統一字符編碼,請執行以下操做:

(1)my.ini文件是mysql的配置文件,

在C:\mysql-5.6.40-winx64文件下建立my.ini文件

(2)將以下代碼拷貝保存。

    

複製代碼
#mysql5.5以上:修改方式爲
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
複製代碼

 

(3)以管理員身份重啓服務,執行以下命令 

複製代碼
C:\Windows\system32>net stop MySQL
MySQL 服務正在中止..
MySQL 服務已成功中止。

C:\Windows\system32>net start MySQL
MySQL 服務正在啓動 .
MySQL 服務已經啓動成功。
複製代碼

(4)在cmd中輸入mysql進入mysql環境,執行\s,顯示以下信息,表示成功

 

04-初始mysql語句

 

本節課先對mysql的基本語法初體驗。

操做文件夾(庫)

create database db1;

# 查看當前建立的數據庫
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);

查 

複製代碼
#查看當前的這張t1表
show create table t1;

# 查看全部的表
show tables;

# 查看錶的詳細信息
desc t1;
複製代碼

# modify修改的意思
alter table t1 modify name char(6);
# 改變name爲大寫的NAME
alter table t1 change name NAMA char(7);

# 刪除表
drop table t1;

 

 

操做文件內容(記錄)

 增

# 插入一條數據,規定id,name數據leilei
insert t1(id,name) values(1,"mjj01"),(2,"mjj02"),(3,"mjj03");

 查

select id from db1.t1;
select id,name from db1.t1;
select * from db1.t1; 

update db1.t1 set name='zhangsan';
update db1.t1 set name='alex' where id=2;

 刪

delete from t1;
delete from t1 where id=2;

 

MySQL添加字段和刪除字段 alter add命令用來增長表的字段。 alter add命令格式:alter table 表名 add字段 類型 其餘; 例如,在表MyClass中添加了一個字段passtest,類型爲int(4),默認值爲0: mysql> alter table MyClass add passtest int(4) default '0'; 1) 加索引 mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]); 例子: mysql> alter table employee add index emp_name (name); 2) 加主關鍵字的索引 mysql> alter table 表名 add primary key (字段名); 例子: mysql> alter table employee add primary key(id); 3) 加惟一限制條件的索引 mysql> alter table 表名 add unique 索引名 (字段名); 例子: mysql> alter table employee add unique emp_name2(cardnumber); 4) 刪除某個索引 mysql> alter table 表名 drop index 索引名; 例子: mysql>alter table employee drop index emp_name; 5) 增長字段 mysql> ALTER TABLE table_name ADD field_name field_type; 6) 修改原字段名稱及類型 mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type; 7) 刪除字段 MySQL ALTER TABLE table_name DROP field_name;

 

1.mysql引言 -電腦(服務器 要求性能比較高) -文件夾 數據庫 (多個) - user.txt 文件(多個) id|name|pwd 字段 1,xxx,123 數據(記錄) 2,ooo,321
                
            -school.txt client server 單機程序 mysql軟件來管理你的數據庫文件 它實際上是基於socket客戶端和服務端的一個軟件 --- mysql服務端 -- socket服務端 (開啓) -- 解析指令 -- 根據指令執行文件操做 --- mysql客戶端 -- socket客戶端 (鏈接) -- 發送指令操做(mysql語句) -- 解析指令 接下來要作什麼事情? 1.下載mysql 2.安裝mysql服務端 3.客戶端鏈接服務端 4.學習sql語法規則**** 局域網下的程序 user { id:1, name:'alex', age:18 } mysql的安裝 1.解壓目錄 2.添加環境變量 系統的環境變量 3.初始化 mysqld --initialize-insecure 4.啓動服務端 mysqld 直接啓動 這個時候 吼住 5.鏈接服務端 mysql -uroot -p 查看當前進程的pid號: tasklist |findstr mysql 殺死進程: taskkill /F /PID mysql 6.製做windows服務 必定要以管理員身份運行 安裝windows服務:mysqld --install 卸載windows服務: mysqld --remove 命令啓動服務:net start mysql 命令關閉服務:net stop mysql 查看全部的數據庫 show database; 使用數據庫 use 數據庫的名字 查看全部的表: show tables; 7.統一字符編碼 1.在C:\mysql-5.7.23-winx64\mysql-5.7.23-winx64當前的目錄下 新建一個my.int [mysql] # 設置mysql客戶端默認字符集
                default-character-set=utf8 [mysqld] #設置3306端口
                port = 3306 
                # 設置mysql的安裝目錄
                basedir=C:\mysql-5.7.23-winx64\mysql-5.7.23-winx64  # 這個目錄必定是本身電腦上的安裝mysql目錄
                # 設置mysql數據庫的數據的存放目錄
                datadir=C:\mysql-5.7.23-winx64\mysql-5.7.23-winx64\data  # 這個目錄必定是本身電腦上的安裝mysql數據目錄
                # 容許最大鏈接數
                max_connections=200
                # 服務端使用的字符集默認爲8比特編碼的latin1字符集
                character-set-server=utf8 # 建立新表時將使用的默認存儲引擎
                default-storage-engine=INNODB 2.net stop mysql 再開啓 讓my.ini文件配置生效 net start mysql 3.mysql -uroot -p 執行 \s; 查看數據庫配置 Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 8.破解密碼 (1)以管理員身份 打開cmd 停掉服務端 net stop mysql (2)開啓服務端 並跳過全部的受權表 mysqld --skip-grant-tables (3)客戶端鏈接服務端 mysql -uroot -p (4)修改密碼:update mysql.user set authentication_string =password('') where User='root'; (5)刷新權限 flush privileges; 9.初學sql 建立數據庫:create database db1; 使用數據庫:use db1; 建立表: create table user(id int,name char(8)); 查看錶結構: desc user; 插入一條數據: insert into user(id,name) values (1,'alex'); 查詢記錄: select name from user;
總結
相關文章
相關標籤/搜索