MySQL數據庫基礎

1.數據庫的基本概念

  • 數據庫的英文單詞: DataBase 簡稱 : DB
  • 什麼數據庫?
    用於存儲和管理數據的倉庫。
  • 數據庫的特點:
    1. 持久化存儲數據的。其實數據庫就是一個文件系統
    2. 方便存儲和管理數據
    3. 使用了統一的方式操作數據庫 – SQL

2.MySQL數據庫軟件

1. 安裝

安裝教程鏈接

2. 卸載

  1. 去mysql的安裝目錄找到my.ini文件
    * 複製 datadir=“C:/ProgramData/MySQL/MySQL Server 5.5/Data/”
  2. 卸載MySQL
  3. 刪除C:/ProgramData目錄下的MySQL文件夾。
    卸載鏈接link.

3. 配置

  1. MySQL服務啓動
    • 手動。
    • cmd–> services.msc 打開服務的窗口
    • 使用管理員打開cmd
      net start mysql : 啓動mysql的服務
      net stop mysql:關閉mysql服務
  2. MySQL登錄
    1. mysql -uroot -p密碼
    2. mysql -hip -uroot -p連接目標的密碼
    3. mysql --host=ip --user=root --password=連接目標的密碼
  3. MySQL退出
    1. exit
    2. quit

4. MySQL目錄結構

MySQL 的目錄結構 描述
bin<目錄> 所有 mysql 的可執行文件,如:mysql.exe
MySQLInstanceConfig.exe 數據庫的配置嚮導,在安裝時出現的內容
data<目錄> data<目錄> 系統必須的數據庫所在的目錄
my.ini 文件 mysql 的配置文件,一般不建議去修改。
c:\ProgramData\MySQL\MySQL Server 5.5\data\ 我們自己創建的數據庫所在的文件夾

5.數據庫管理系統

數據庫管理系統(DataBase Management System,DBMS):指一種操作和管理數據庫的大型軟件,用於建 立、使用和維護數據庫,對數據庫進行統一管理和控制,以保證數據庫的安全性和完整性。用戶通過數據庫管理 系統訪問數據庫中表內的數據

6. 數據庫管理系統、數據庫和表的關係

數據庫管理程序(DBMS)可以管理多個數據庫,一般開發人員會針對每一個應用創建一個數據庫。爲保存應用中實體的數據,一般會在數據庫創建多個表,以保存程序中實體 User 的數據。
在這裏插入圖片描述

3.SQL

1.什麼是SQL?

 Structured Query Language:結構化查詢語言

其實就是定義了操作所有關係型數據庫的規則。每一種數據庫操作的方式存在不一樣的地方,稱爲“方言”。

2.SQL 作用

  1. 是一種所有關係型數據庫的查詢規範,不同的數據庫都支持。
  2. 通用的數據庫操作語言,可以用在不同的數據庫中。
  3. 不同的數據庫 SQL 語句有一些區別
    在這裏插入圖片描述

3.SQL 語句分類

  1. Data Definition Language (DDL 數據定義語言) 如:建庫,建表
  2. Data Manipulation Language(DML 數據操縱語言),如:對錶中的記錄操作增刪改
  3. Data Query Language(DQL 數據查詢語言),如:對錶中的查詢操作
  4. Data Control Language(DCL 數據控制語言),如:對用戶權限的設置

4.MySQL 的語法

  1. 每條語句以分號結尾,如果在 SQLyog 中不是必須加的。
  2. SQL 中不區分大小寫,關鍵字中認爲大寫和小寫是一樣的
  3. 3 種註釋:
註釋的語法 說明
–空格 單行註釋
/* */ 多行註釋 多行註釋
# 這是 mysql 特有的註釋方式

4.DDL 操作數據庫

1.創建數據庫

  • 創建數據庫
CREATE DATABASE 數據庫名;
  • 判斷數據庫是否已經存在,不存在則創建數據庫
CREATE DATABASE IF NOT EXISTS 數據庫名;

-創建數據庫並指定字符集

CREATE DATABASE 數據庫名 CHARACTER SET 字符集;

2.查看數據庫

  • 查看所有的數據庫
show databases;
  • 查看某個數據庫的定義信息
show create database db3;
show create database db1;

3.修改數據庫

  1. 修改數據庫默認的字符集
ALTER DATABASE 數據庫名 DEFAULT CHARACTER SET 字符集;

4. 刪除數據庫

DROP DATABASE 數據庫名;

5.使用數據庫

  • 查看正在使用的數據庫
SELECT DATABASE(); 使用的一個 mysql
  • 使用/切換數據庫
USE 數據庫名;

5.DDL 操作表結構

1.查看錶

  1. 查看某個數據庫中的所有表
SHOW TABLES;
  1. 查看錶結構
DESC 表名;
  1. 查看創建表的 SQL 語句
SHOW CREATE TABLE 表名;
  1. 快速創建一個表結構相同的表
CREATE TABLE 新表名 LIKE 舊錶名;

2.刪除表

  1. 直接刪除表
DROP TABLE 表名;
  1. 判斷表是否存在,如果存在則刪除表
DROP TABLE IF EXISTS 表名;

3.修改表結構

  1. 修改表結構
ALTER TABLE 表名 ADD 列名類型;
  1. 修改列類型MODIFY
ALTER TABLE 表名 MODIFY 列名新的類型;
  1. 修改列名CHANGE
ALTER TABLE 表名 CHANGE 舊列名 新列名 類型;
  1. 刪除列DROP
ALTER TABLE 表名 DROP 列名;
  1. 修改表名
RENAME TABLE 表名 TO 新表名;
  1. 修改字符集characterset
ALTER TABLE 表名 characterset 字符集;

6.DML操作表中的數據

     用於對錶中的記錄進行增刪改操作

1. 插入記錄

  1. 插入全部字段
INSERT INTO 表名(字段名1,字段名2,字段名3)VALUES(1,2,3);
  1. 插入部分數據
INSERT INTO 表名(字段名1,字段名2,...)VALUES(1,2,...);
  注:沒有添加數據的字段會使用NULL

insert的注意事項:

  1. 插入的數據應與字段的數據類型相同
  2. 數據的大小應在列的規定範圍內,例如:不能將一個長度爲80的字符串加入到長度爲40的列中。
  3. 在values中列出的數據位置必須與被加入的列的排列位置相對應。在mysql中可以使用value,但不建議使用,功能與values相同。
  4. 字符和日期型數據應包含在單引號中。MySQL中也可以使用雙引號做爲分隔符。
  5. 不指定列或使用null,表示插入空值。

2.更新表記錄

  1. 不帶條件修改數據
UPDATE 表名 SET 段名=;--修改所有的行
  1. 帶條件修改數據
UPDATESET 字段名=WHERE 字段名=;

3.刪除表記錄

  1. 帶條件刪除數據
DELETE FROM 表名;
  1. 帶條件刪除數據
DELETE FROM 表名 WHERE 字段名=;
  1. 使用 truncate 刪除表中所有記錄
TRUNCATE TABLE 表名;

truncate 和 delete 的區別:
truncate 相當於刪除表的結構,再創建一張表。

7.DQL 查詢表中的數據

1.簡單查詢

  1. 查詢表所有行和列的數據
SELECT * FROM 表名;
  1. 查詢指定列
SELECT 字段名 1, 字段名 2, 字段名 3, ... FROM 表名;
  1. 指定列的別名進行查詢
    使用別名的好處: 顯示的時候使用新的名字,並不修改表的結構。
SELECT 字段名 1 AS 別名, 字段名 2 AS 別名... FROM 表名;

2.清除重複值

  1. 查詢指定列並且結果不出現重複數據
SELECT DISTINCT 字段名 FROM 表名;
  1. 查詢結果參與運算
  • 某列數據和固定值運算
SELECT 列名 1 + 固定值 FROM 表名;
  • 某列數據和其他列數據參與運算
SELECT 列名 1 + 列名 2 FROM 表名;
注意: 參與運算的必須是數值類型

3.條件查詢

  1. 條件查詢的語法
SELECT 字段名 FROM 表名 WHERE 條件;
流程:取出表中的每條數據,滿足條件的記錄就返回,不滿足條件的記錄不返回
  • 運算符
比較運算符 說明
>、<、<=、>=、=、<> <>在 SQL 中表示不等於,在 mysql 中也可以使用!=沒有==
BETWEEN…AND 在一個範圍之內,如:between 100 and 200相當於條件在 100 到 200 之間,包頭又包尾
IN(集合) 集合表示多個值,使用逗號分隔
LIKE ‘張%’ 模糊查詢
IS NULL 詢某一列爲 NULL 的值,注:不能寫=NULL
  • 邏輯運算符
邏輯運算符 說明
and 或 && 與,SQL 中建議使用前者,後者並不通用。
or 或
not 或 !
  • in 關鍵字
SELECT 字段名 FROM 表名 WHERE 字段 in (數據 1, 數據 2...);
in 裏面的每個數據都會作爲一次條件,只要滿足條件的就會顯示
  • like 關鍵字
LIKE 表示模糊查詢
SELECT * FROM 表名 WHERE 字段名 LIKE '通配符字符串';
  • MySQL 通配符
通配符 說明
% 匹配任意多個字符串
_ 匹配一個字符
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章