日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

MySQL數(shù)據(jù)庫01

 怡紅公子0526 2022-04-05

 

前言:

  隨著時代的進步,大數(shù)據(jù)也逐漸走進大家的生活中,成為大家密不可分的一樣東西。因此,作為程序員的我們,要學習并會使用數(shù)據(jù)庫。

 

什么是數(shù)據(jù)庫?

  數(shù)據(jù)庫就是一個文件系統(tǒng),通過標準的SQL語句獲取數(shù)據(jù)

 

MySQL數(shù)據(jù)庫又是什么呢?

  MySQL數(shù)據(jù)庫是一個關系型數(shù)據(jù)庫。 (關系型數(shù)據(jù)庫:存放的是實體之間的關系)

 

常見的關系型數(shù)據(jù)庫: MySQL、Oracle、SQLServer、DB2、ByBase 等等.....

 

數(shù)據(jù)庫服務器從硬件和軟件兩方面來說:

 ?、儆布褐傅氖且慌_配置很高的電腦

 ?、谲浖盒枰谶@臺電腦上安裝數(shù)據(jù)庫服務器

 

MySQL的數(shù)據(jù)庫服務器的存儲方式:

  在數(shù)據(jù)庫服務器的內部,通過數(shù)據(jù)庫存儲數(shù)據(jù),通常情況下一個應用創(chuàng)建一個數(shù)據(jù)庫。

  在數(shù)據(jù)庫中,一般用表存儲數(shù)據(jù),在一個系統(tǒng)中,通常為每個實體創(chuàng)建一個表。

  在一個表中,往往會有很多條記錄,一個實體的實例,會創(chuàng)建一個新的記錄。

 

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

  SQL:結構化查詢語言(通俗點:訪問數(shù)據(jù)庫的語言)

  SQL的分類:①DDL:數(shù)據(jù)定義語言  ②DCL:數(shù)據(jù)控制語言

        ③DML:數(shù)據(jù)操縱語言  ④DQL:數(shù)據(jù)查詢語言

 

首先是學習數(shù)據(jù)庫的操作: 創(chuàng)建數(shù)據(jù)庫、查看數(shù)據(jù)庫、修改數(shù)據(jù)庫、刪除數(shù)據(jù)庫

創(chuàng)建數(shù)據(jù)庫:create database 數(shù)據(jù)庫名稱 [character set 字符集 collate 字符集校對規(guī)則];  // 【】中的內容可以省略

     

查看數(shù)據(jù)庫:

①查看數(shù)據(jù)庫服務器內所有數(shù)據(jù)庫:show databases;

②查看某個數(shù)據(jù)庫的定義信息:show create database 數(shù)據(jù)庫名稱;

     

修改數(shù)據(jù)庫:alter database 數(shù)據(jù)庫名稱 character set 字符集 collate 校對規(guī)則;

     

刪除數(shù)據(jù)庫:drop database 數(shù)據(jù)庫名稱;

    

其他數(shù)據(jù)庫操作:(這個就不具體展示了)

切換數(shù)據(jù)庫:use 數(shù)據(jù)庫名稱;

查看當前數(shù)據(jù)庫:select database<>;

  

接下來是學習操作數(shù)據(jù)庫表:    

創(chuàng)建表:create table 表名稱(字段名稱 字段類型(長度) 約束, 字段名稱 字段類型(長度) 約束, 字段名稱...);

     

我們先介紹一下里面所涉及的內容:

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

接下來我會用JAVA的數(shù)據(jù)類型與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區(qū)別:

datetime:既有日期又有時間的日期類型,如果沒有向這個字段中存值,數(shù)據(jù)庫使用null存入到數(shù)據(jù)庫中。

timestamp:既有日期又有時間的日期類型,如果沒有向這個字段中存值,數(shù)據(jù)庫使用系統(tǒng)時間存入到數(shù)據(jù)庫中。

 

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

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

       

單表約束:

作用:保證數(shù)據(jù)的完整性

單表約束分類:主鍵約束、唯一約束、非空約束

主鍵:primary key  主鍵約束默認就是唯一的,非空的。

唯一:unique

非空:not null

    

查看表:

①查看某個數(shù)據(jù)庫下的所有表:show tables;

②查看某個表的結構信息:desc 表名;

 

刪除表:drop table 表名;

 

修改表:

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

 

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

       

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

       

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

       

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

       

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

  

對數(shù)據(jù)庫表的記錄進行操作:

添加表的記錄:

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

      

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


    

注意事項

1. 值的類型與數(shù)據(jù)庫表列的類型一致。

2. 值的順序與數(shù)據(jù)庫中表列的順序一致。

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

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

    

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

    

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

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

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

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

 

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

注意事項:

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

 

2. 刪除如果沒有條件,默認是刪除表中所有的記錄。

 

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

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

2.truncate table user 【DDL】; 將表刪除,然后重新創(chuàng)建一個結構一樣的表,事務不能控制DDL。

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

查看表的記錄:

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

 

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

    

條件查詢:

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

 

比較大小查詢:

 

范圍查詢:in (區(qū)間)

            

模糊查詢:

 

模糊查詢介紹:

①like 'C_';  // 必須是2個字,且C開頭

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

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

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

 

 排序查詢:條件后面使用 order by 字段名稱 asc升序【默認】 desc降序

 

分組統(tǒng)計查詢:

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

where的子句后面不能跟著聚合函數(shù),如果現(xiàn)在使用帶有聚合函數(shù)的條件過濾,需要使用 having關鍵字。

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

 

小結:

  以上就是本次MySQL數(shù)據(jù)庫的基本使用介紹,后面我將會接著介紹多表以及事務。

                                    加油!

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

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多