16mysql1

Eric.Shen發表於2018-07-30

一、資料庫的基本概念

        1.1  常用的關係型資料庫

                       資料庫(Database)是按照資料結構來組織、儲存和管理資料的倉庫。

        1.2  sql語言

     SQL是Structured Query Language(結構化查詢語言)的縮寫。SQL是專為資料庫而建立的操作命令集。SQL功能強大、簡單易學、使用方便,已經成為了資料庫操作的基礎,並且現在幾乎所有的關係型資料庫均支援SQL。
 
特點
     非過程性語言。一條語句一個結果。多條語句之間沒有影響。每一條SQL執行完都會有一個具體的結果出現。
 
SQL是用來操作關聯式資料庫的語言,具有查詢、操縱、定義和控制關係型資料庫的四方面功能
 

        1.3  sql分類

DDL (資料定義語言)
資料定義語言 – Data Definition Language
用來定義資料庫的物件,如資料表、檢視、索引等
create drop alter truncate
 
DML (資料操縱語言)
資料處理語言 – Data Manipulation Language
在資料庫表中更新,增加和刪除記錄
如 update, insert, delete 不包含查詢
 
DCL (資料控制語言)
資料控制語言 – Data Control Language
指用於設定使用者許可權和控制事務語句
如grant,revoke,if…else,while,begin transaction
 
DQL (資料查詢語言)(★★★★★)
資料查詢語言 – Data Query Language
資料表記錄的查詢。
select

二、對資料庫進行操作的語句

 
1.1 資料庫中預設自帶有4個庫:
        1.information_schema 資料庫:
    其中儲存著關於MySQL伺服器所維護的所有其他資料庫的資訊。如資料庫名,資料庫的表,表欄的資料的表,表欄的資料型別與訪問許可權等。
        2.performance_schema 資料庫:
儲存引擎:命名PERFORMANCE_SCHEMA,主要用於手機資料庫伺服器效能引數。
        3.mysql 資料庫:
        mysql庫是系統庫,裡面儲存有賬戶資訊,許可權資訊,儲存過程,event,時區等資訊
        4.test 資料庫:
這個是安裝時候建立的一個測試資料庫,和它的名字一樣,是一個完全的空資料庫,沒有任何表,可以刪除。
 
1.2 檢視所有資料庫
1.1 查詢當前所有的資料庫
show databases;
1.2 檢視當前資料的建立方式:檢視資料庫的編碼表
show create database 庫名;
1.3 建立資料庫
create database 資料庫名: 由於建立資料庫時沒有指定編碼表,因此會使用安裝資料庫時預設的編碼表
create database 資料庫名 character set 編碼表名;建立資料庫會使用指定的編碼表
1.4 刪除資料庫
drop database 資料庫名;
1.5 修改資料庫編碼集
alter database 資料庫名稱 character set 字符集;
 
1.3 資料表結構的sql語句
        1.1 資料表的建立語句
        create table 表名(         
 列名 資料型別,          
 列名 資料型別,
 ……
 列名 資料型別 (最後一個列不需要逗號)
        );
1.2 檢視錶
       show tables : 檢視該資料庫的所有的表
                show create table 表名 :檢視建表語句以及字符集
                desc emp 檢視錶的詳細資訊
                show columns from emp ;檢視錶的列資訊
1.4 約束
        1.1 主鍵約束
                primary key
                varchar 型別的主鍵不可以自增長.
                示例:
                        【示例】
create table 表名 (
 id int primary key auto_increment,
 name varchar(20),
 ………….
);
          1.2 唯一約束
                unique 內容不允許重複,可以為null(null不算重複)。 
一個表裡可以新增多個唯一約束。
【示例】
create table 表名 (
 id int primary key auto_increment,
 name varchar(20) unique,
 ………….
);
唯一約束和主鍵約束的區別  
1、唯一約束可以是空(null)。 但是主鍵約束不能為空
2、一張表中只能有一個主鍵,但是唯一約束可以有多個
          1.3 非空約束
        not null 不允許為空 表示該列的內容 不允許為空。
約束的目的。
目的:保證資料的正確性。
約束列。限制列的內容。
1.5  資料表結構的修改
        1.修改資料表
                可以對錶名、表中的列名、列的型別、列的約束進行增刪改
                語法 :alter table 表名  add/drop/modify  改名  型別長度  約束;
         2. 修改現有列的型別,長度和約束 用modify
        3. 修改現有列名稱
                    語法 alter table 表名 change 舊列名 新列名 型別(長度) 約束;
·        4. 刪除現有列
                    語法 alter table 表名 drop 列名
          5. 修改表名 
                    語法 :rename table 舊錶名 to 新表名
          6. 修改表的字符集 
                    語法 : alter table 表名 character set 編碼集;
1.6 資料表的刪除
         語法 : drop table 表名:
 

三、資料記錄的增刪改

    
       在java程式碼中對資料庫操作最頻繁的就是對錶中資料的CRUD操作:create read / retrive update delete
資料記錄儲存位置
            
                    增:  語法:insert into 表名 (列名,列名,列名。。。) values( 值,值,值。。。);
                    改update 表名 set 列名 = 值 , 列名 = 值 .. . [where 條件語句];            notes:如果不加條件 則修改整列
                    delete :delete from 表名 [where 條件語句]                       
                             notes:如果沒有where 刪除表中所有的記錄    delete 刪除的是行
                                          truncate table 表名 是刪除一個表,之後在根據你 的表結構在給你建立一張新表
 
 
 
 
 
 

<wiz_tmp_tag id=”wiz-table-range-border” contenteditable=”false” style=”display: none;”>