mysql數據庫初步瞭解

 一丶數據庫服務器丶數據管理系統丶數據庫丶表與記錄的關係

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

  表: Student.school,class_list(即文件),用來存放多行內容/多條記錄

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

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

  數據庫服務器:一臺計算機(對內存要求比較高),運行數據庫管理軟件

二丶MySql安裝和基本管理

  1.mysql是什麼?

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

  2.數據庫管理軟件分類

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

總結兩句話:
    關係型數據庫須要有表結構
    非關係型數據庫是key-value存儲的,沒有表結構


因此,如今咱們使用關係型數據庫管理系統(RDBMS)來存儲和管理的大數據量。所謂的關係型數據庫,是創建在關係模型基礎上的數據庫,藉助於集合代數等數學概念和方法來處理數據庫中的數據。
RDBMS即關係數據庫管理系統(Relational Database Management System)的特色:


1.數據以表格的形式出現


2.每行爲各類記錄名稱


3.每列爲記錄名稱所對應的數據域


4.許多的行和列組成一張表單


5.若干的表單組成database


RDBMS 術語
在咱們開始學習MySQL 數據庫前,讓咱們先了解下RDBMS的一些術語:


數據庫: 數據庫是一些關聯表的集合。.


數據表: 表是數據的矩陣。在一個數據庫中的表看起來像一個簡單的電子表格。


列: 一列(數據元素) 包含了相同的數據, 例如郵政編碼的數據。


行:一行(=元組,或記錄)是一組相關的數據,例如一條用戶訂閱的數據。


冗餘:存儲兩倍數據,冗餘下降了性能,但提升了數據的安全性。


主鍵:主鍵是惟一的。一個數據表中只能包含一個主鍵。你可使用主鍵來查詢數據。


外鍵:外鍵用於關聯兩個表。


複合鍵:複合鍵(組合鍵)將多個列做爲一個索引鍵,通常用於複合索引。


索引:使用索引可快速訪問數據庫表中的特定信息。索引是對數據庫表中一列或多列的值進行排序的一種結構。相似於書籍的目錄。


參照完整性: 參照的完整性要求關係中不容許引用不存在的實體。與實體完整性是關係模型必須知足的完整性約束條件,目的是保證數據的一致性。

 

  3.下載

  下載地址:https://dev.mysql.com/downloads/mysql/

  4.解壓

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

   5.將路徑添加到環境變量中:

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

   6.初始化;

mysqld #啓動MySQL服務

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

mysql -u root -p # 鏈接MySQL服務器
注意:--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

   8.windows下登陸設置密碼

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

   若是想管理員模式登陸,執行如下命令:

mysql -uroot -p

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

C:\Users\mjj>mysqladmin -uroot -p password "123"  #設置初始密碼 因爲原密碼爲空,所以-p能夠不用 注意這句話不起做用,請使用update mysql.user set authentication_string =password('') where User='root'; 

   若是想將原始密碼123,設置新密碼爲456

C:\Users\mjj>mysqladmin -uroot -p"123" password "456"  #修改mysql密碼,由於已經有密碼了,因此必須輸入原密碼才能設置新密碼

   再次登陸時就得輸入   mysql -uroot -p456

  9.密碼忘記--破解密碼

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

    (1)以管理員的身份運行cmd

    (2)停掉mysql服務端

      net stop mysql

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

      mysqld --skip-grant-tables

    (4)再次查看

      mysql -uroot -p

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

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

     (6)刷新權限,執行命令

flush privileges;

    (7)退出   exit

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

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

     (9)殺死當前進程,執行以下命令

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

    (10)再次重啓服務器便可

 三丶統一字符編碼

  \s查看當前的字符編碼

  統一字符編碼:

  1.建立一個my.ini文件

  2.將如下內容拷貝到my.ini文件中保存

[mysqld]
# 設置mysql的安裝目錄 **後面的路徑必定是安裝sql的目錄(本身電腦的)**
basedir=C:\mysql-5.7.22-winx64\mysql-5.7.22-winx64
# 設置mysql數據庫的數據的存放目錄,必須是data
datadir=C:\mysql-5.7.22-winx64\mysql-5.7.22-winx64\data
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

# mysql端口
port=3306
# 字符集
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

 四丶mysql的增刪改查

  1.對文件夾(庫) 的操做

  增:

create database db1 charset utf8;

  刪:

drop database db1;

  改;

alter database db1 charset gbk;

  查;

#查看當前建立的數據庫
show  create database db1;
#查看全部的數據庫
show databases

  2.對文件(表)的操做

use db1; #切換文件夾

select database(); #查看當前所在文件夾

  增:

create table t1(id int,name char);

  刪;

#刪除表
drop table t1;

  改:

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

  查:

#查看當前的這張t1表
show create table t1;
#查看全部的表
show tables;
#查看錶的詳細信息
desc t1;

  3.對文件內容(記錄)的操做

  增:

#插入一條數據,規定id,name數據 leilei
insert t1(id,name) values(1,'哈哈'),(2,'哈哈2'),(3,'哈哈3');

  刪:

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

  改:

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

  查:

select id from db1.t1;
select id,name from db1.t1;
select * from db1.t1; 
相關文章
相關標籤/搜索