數據庫初相識

數據庫

什麼是數據庫

數據庫是「按照數據結構來組織、存儲和管理數據的倉庫」。是一個長期存儲在計算機內的、有組織的、可共享的、統一管理的大量數據的集合。---百度百科mysql

通俗的來講:數據庫就是存儲數據的倉庫,其本質就是按照必定格式存儲數據的文件夾.sql

數據庫優勢

數據庫是按照特定的格式將數據存儲在文件中,經過SQL語句能夠方便的對大量數據進行增、刪、改、查操做,數據庫是對大量的信息進行管理的高效的解決方案。數據庫

數據庫管理系統(DBMS)

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

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

數據庫管理系統能夠管理多個數據庫,每一個數據庫中能夠有多張數據庫表。數據結構

常見數據庫管理系統

MYSQL :開源免費的數據庫,小型的數據庫.已經被Oracle收購了.MySQL6.x版本也開始收費。工具

Oracle :收費的大型數據庫,Oracle公司的產品。Oracle收購SUN公司,收購MYSQL。性能

DB2 :IBM公司的數據庫產品,收費的。常應用在銀行系統中..net

SQLServer:MicroSoft 公司收費的中型的數據庫。C#、.net等語言常使用。code

SyBase :已經淡出歷史舞臺。提供了一個很是專業數據建模的工具PowerDesigner。orm

SQLite : 嵌入式的小型數據庫,應用在手機端。

MySQL數據庫

SQL語言分類

  • DDL 數據庫定義語言 用來定義數據庫、表、列等

​ 關鍵字:create(建立),drop(刪除),alert(修改)等

  • DML 數據操做語言 對錶中的數據進行增刪改

​ 關鍵字: insert(插入),delete(刪除),update(更新)等

  • DCL 數據控制語言 訪問權限和安全級別

​ 關鍵字:grant(授予), revoke(撤回)等

  • DQL 數據查詢語言

​ 關鍵字:select(查找)

  • TCL 事務控制語言 數據庫的事務操做

​ 關鍵字: commit(提交),savepoint(保存點)rollback(回滾)

mysql語法規範

  1. 不區分大小寫,但建議關鍵字大寫,表名、列名小寫
  2. 每條命令最好用英文分號結尾
  3. 每條命令根據須要,能夠進行縮進或換行
  4. 註釋
    • 單行註釋:#註釋文字
    • 單行註釋:-- 註釋文字 ,注意, 這裏須要加空格
    • 多行註釋:/ 註釋文字 /

數據庫基礎命令

  • 建立數據庫

    create database 數據庫名;

  • 判斷是否存在並建立數據庫

    create database if not exists 數據庫名;

  • 查詢全部數據庫

    show databases ;

  • 切換數據庫

    use 數據庫名;

  • 查看某個數據庫中全部表

    show tables;

  • 查看錶結構

    desc 表名稱;

  • 添加字段

    alter table 表名 add 字段名 類型;

  • 刪除列

    alter table 表名 drop 列名;

  • 修改表名稱

    rename table 表名 to 新表名;

  • 刪除表

    drop table 表名;

  • 刪除數據

    delete form 表名;//逐條刪除表中的全部數據

    delete from 表名 where 字段名=值;

  • 查看其餘庫中全部的表

    show tables from 庫名;

  • 查看當前所在庫

    select database();

  • 數據庫的備份

    mysqldump -u -p 數據庫 > 文件路徑

  • 數據庫的還原

    source 導入文件路徑

delete和truncate的區別

一、刪除方式不一樣:

  • delete是一條一條刪除數據
  • truncate是刪除整個表而後在建立一個結構相同的新表

二、返回值和安全性能:

  • delete刪除的數據還能被還原,有安全性
  • truncate刪除的數據找不回來,不安全

三、主鍵自增上

  • delete刪除表中的數據,不重置主鍵的值,在原來的基礎上加1
  • truncate摧毀的是整張表,在從新建立一個新表,主鍵重置成1

蠕蟲複製

在已有的基礎上,將原來的數據進行復制,插入到對應的表中

insert into 表名1 select*from 表名2;

-- 複製表結構
create  table  表2  like  表1;
-- 複製所有數據
insert  into  表2  select * from 表1;
-- 複製表1的部分數據
insert  into  表2 (字段名1,字段名2...) select  字段名1,字段名2... from 表1;
相關文章
相關標籤/搜索