1. 程式人生 > 資料庫 >MySql筆記一

MySql筆記一

1.初識MySQL

什麼是資料庫

  • 資料庫的概念DB
  • 作用

資料庫的分類

  • 關係型資料庫
  • 非關係型資料庫

資料庫管理系統DBMS

  • 概念

cmd中常用命令

  • 開啟服務:net start mysql

  • 關閉服務:net stop mysql

  • 連線資料庫: mysql -uroot -proot123

  • 檢視資料庫:show databases

  • 使用資料庫:use `資料庫名`

  • 顯示資料庫中的所有表資訊:show tables

  • 查看錶結構:desc `表名`

2.資料庫操作

結構化查詢語言分類

名稱 解釋 命令
DDL(資料定義語言) 定義和管理資料庫、資料表等 create、drop、alter
DML(資料操作語言) 用於操作表中的記錄(增刪改表中資料) insert、delete、update
DQL(資料查詢語言) 用於查詢資料庫中的資料(查詢表中記錄) select
DCL(資料控制語言) 用於管理資料庫的語言,包括許可權管理等 grant、commit、rollback

資料值和基本資料型別

值型別

字串型別

日期型別

null型別

  • 空值,不參與運算;參與運算結果任然為null

DDL-操作資料庫

  1. 建立資料庫:create database[if not exists] 資料庫名

  2. 刪除資料庫:drop database if exists 資料庫名

  3. 檢視資料庫:show databases;

  4. 使用資料庫:use 資料庫名

對比使用視覺化工具

DDL-操作表

表名和欄位名加上``符號進行修飾,是為了防止表名或者欄位名與MySQL、Java中的關鍵字衝突。

  1. 建立表:
CREATE TABLE `表名` (
  `id` INT(5) NOT NULL AUTO_INCREMENT COMMENT '測試用id',
  `name` VARCHAR(20) NOT NULL COMMENT '測試用名稱',
  PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8
  1. 刪除表

    • 刪除表中某一條資料

      • DELETE  FROM `test` where `id` = 1;
        
    • 刪除表中所有記錄

      • DELETE  FROM `test`;--不用這個命令
        
        TRUNCATE `test`;--使用這個命令
        
      • delete命令與truncate命令的區別

DQL

  1. in:精確查詢,即()內的數值或者地址是完整的

  2. like:模糊查詢,即可以使用萬用字元替代一些字元

on和where的區別

  • on是先篩選後關聯,where是先關聯後篩選

連線查詢的用法

  • 查詢的步驟:

    1. 要查詢哪些欄位?

    2. 這些欄位來自哪幾張表?

    3. 使用哪種查詢方式?

  • 判斷使用哪種查詢方式

    1. 內連線 inner join on:只顯示兩張表都匹配的結果。
  1. 左外連線 left join on

    (以左邊的表為基準,顯示出左表的全部欄位和右表所匹配的欄位,空的用`null`表示)  
    
  2. 右外連線 right join on

    (與左外連線相反,右外連線會查詢出右表的所有欄位,顯示左表與右表匹配的欄位,空用null表示)

  3. 全連線full join on:顯示兩張表全部內容。