天天看點

MySQL資料庫01

MySQL資料庫01

MySQL資料庫 

前言:

  随着時代的進步,大資料也逐漸走進大家的生活中,成為大家密不可分的一樣東西。是以,作為程式員的我們,要學習并會使用資料庫。

什麼是資料庫?

  資料庫就是一個檔案系統,通過标準的SQL語句擷取資料

MySQL資料庫又是什麼呢?

  MySQL資料庫是一個關系型資料庫。 (關系型資料庫:存放的是實體之間的關系)

常見的關系型資料庫: MySQL、Oracle、SQLServer、DB2、ByBase 等等.....

資料庫伺服器從硬體和軟體兩方面來說:

  ①硬體:指的是一台配置很高的電腦

  ②軟體:需要在這台電腦上安裝資料庫伺服器

MySQL的資料庫伺服器的存儲方式:

  在資料庫伺服器的内部,通過資料庫存儲資料,通常情況下一個應用建立一個資料庫。

  在資料庫中,一般用表存儲資料,在一個系統中,通常為每個實體建立一個表。

  在一個表中,往往會有很多條記錄,一個實體的執行個體,會建立一個新的記錄。

接下來我們來介紹一下SQL語句:

  SQL:結構化查詢語言(通俗點:通路資料庫的語言)

  SQL的分類:①DDL:資料定義語言  ②DCL:資料控制語言

        ③DML:資料操縱語言  ④DQL:資料查詢語言

  首先是學習資料庫的操作: 建立資料庫、檢視資料庫、修改資料庫、删除資料庫

     建立資料庫:create database 資料庫名稱 [character set 字元集 collate 字元集校對規則];  // 【】中的内容可以省略

      

MySQL資料庫01

     檢視資料庫:①檢視資料庫伺服器内所有資料庫:show databases;

        

MySQL資料庫01

           ②檢視某個資料庫的定義資訊:show create database 資料庫名稱;

        

MySQL資料庫01

     修改資料庫:alter database 資料庫名稱 character set 字元集 collate 校對規則;

        

MySQL資料庫01

     删除資料庫:drop database 資料庫名稱;

        

MySQL資料庫01

     其他資料庫操作: (這個就不具體展示了)

          切換資料庫:use 資料庫名稱;

          檢視目前資料庫:select database<>;

  

  接下來是學習操作資料庫表:

      建立表:create table 表名稱(字段名稱 字段類型(長度) 限制, 字段名稱 字段類型(長度) 限制, 字段名稱...);

       

MySQL資料庫01

      我們先介紹一下裡面所涉及的内容:

        字段類型:一個實體對應一個表,一個實體屬性對應表的一個字段。

        接下來我會用JAVA的資料類型與SQL中的字段類型一一對應。

        JAVA:byte/short/int/long

        SQL: tinyint/smallint/int/bigint

JAVA SQL
float  float
double double
boolean bit
char/String char/varchar
Date date/time/datetime/timestamp
File BLOB/TEXT

 datetime和timestamp差別:

   datetime:既有日期又有時間的日期類型,如果沒有向這個字段中存值,資料庫使用null存入到資料庫中。

   timestamp:既有日期又有時間的日期類型,如果沒有向這個字段中存值,資料庫使用系統時間存入到資料庫中。

        char代表是固定長度的字元或字元串

        varchar代表是可變長度的字元串

       單表限制:

         作用:保證資料的完整性

            單表限制分類:主鍵限制、唯一限制、非空限制

         主鍵:primary key  主鍵限制預設就是唯一的,非空的。

         唯一:unique

         非空:not null

    檢視表:

        ①檢視某個資料庫下的所有表:show tables;

        

MySQL資料庫01

        ②檢視某個表的結構資訊:desc 表名;

        

MySQL資料庫01

      删除表:drop table 表名;

      

MySQL資料庫01

      修改表:

       添加列:alter table 表名 add 列名 類型(長度) 限制;

        

MySQL資料庫01

       修改列類型、長度和限制:alter table 表名 modify 列名 類型(長度) 限制;

        

MySQL資料庫01

       删除列:alter table 表名 drop 列名;

        

MySQL資料庫01

       修改列名稱:alter table 表名 change 舊列名 新列名 類型(長度) 限制;

        

MySQL資料庫01

       修改表名:rename table 表名 to 新表名;

        

MySQL資料庫01

       修改表的字元集:alter table 表名 character set 字元集;

        

MySQL資料庫01

  對資料庫表的記錄進行操作:

    添加表的記錄:

      插入某些列:insert into 表名 (列名1,列名2,列名3......) values(值1,值2,值3.........);

      

MySQL資料庫01

      插入所有列:insert into 表名 values(值1,值2,值3......);

      

MySQL資料庫01

    注意事項:

      1. 值的類型與資料庫表列的類型一緻。

      2. 值的順序與資料庫中表列的順序一緻。

      3. 值的最大長度不能超過列設定最大長度。

      4. 值的類型是字元串或者是日期類型,使用單引号引起來。

    修改表的記錄:update 表名 set 列名=值,列名=值 where 條件;

      

MySQL資料庫01

    修改某一列的所有值: update 表名 set 列名 = xxxx;

    修改特值列的值; update 表名 set 列名 = xxx where 列名 = xxx;

    修改多個列: update 表名 set 列名=xxx,列名=xxx where 列名 = xxx;

    [這裡就不一一舉例了,按照模闆來即可。]

    

    删除表的記錄:delete form 表名 where 條件;

    注意事項:

       1. 删除表的記錄,指的是删除表中的一行記錄。

      

MySQL資料庫01

       2. 删除如果沒有條件,預設是删除表中所有的記錄。

      

MySQL資料庫01

    删除表中的記錄兩種做法:

    1.delete from user 【DML】; 一條記錄一條記錄删除,事務可以作用在DML語句上。

    2.truncate table user 【DDL】; 将表删除,然後重新建立一個結構一樣的表,事務不能控制DDL。

       ps:關于事務,到MYSQL02時會講。

    檢視表的記錄:

       基本查詢:select * from 表名; // 查詢所有,也可以添加條件,隻查詢個别。

          

MySQL資料庫01

       别名查詢:select 列名 as 别名 from 表名;

          

MySQL資料庫01

       條件查詢:

 where子句: >,<,>=,<=,<>,= <>:不等于 、ike:模糊查詢、in:範圍查詢、條件:and,or,not 

            比較大小查詢:

                

MySQL資料庫01

            範圍查詢:in (區間)

                

MySQL資料庫01

            模糊查詢:

                

MySQL資料庫01

          模糊查詢介紹: ①like 'C_';  // 必須是2個字,且C開頭

                   ②like 'C%';  // 隻要以C開頭即可

                  ③like '%C%'; // 隻要其中有C即可

                  ④like '&C';  // 隻要結尾有C即可

              排序查詢:條件後面使用 order by 字段名稱 asc升序【預設】 desc降序

                

MySQL資料庫01

         分組統計查詢:

 聚合函數的使用: sum();、count();、max();、min();、avg();   // 這裡就不舉例了

 注:where的子句後面不能跟着聚合函數,如果現在使用帶有聚合函數的條件過濾,需要使用 having關鍵字。

   分組查詢:用group by 字段名稱  【這個例子不标準】

                  

MySQL資料庫01

小結:

  以上就是本次MySQL資料庫的基本使用介紹,後面我将會接着介紹多表以及事務,另外排版有點亂,見諒,嘿嘿嘿(緩解尴尬)。

                                    加油!

                            時間:2020-03-25 02:06:17