MySQL資料庫
前言:
隨著時代的進步,大資料也逐漸走進大家的生活中,成為大家密不可分的一樣東西,因此,作為程式員的我們,要學習并會使用資料庫,
什么是資料庫?
資料庫就是一個檔案系統,通過標準的SQL陳述句獲取資料
MySQL資料庫又是什么呢?
MySQL資料庫是一個關系型資料庫, (關系型資料庫:存放的是物體之間的關系)
常見的關系型資料庫: MySQL、Oracle、SQLServer、DB2、ByBase 等等.....
資料庫服務器從硬體和軟體兩方面來說:
①硬體:指的是一臺配置很高的電腦
②軟體:需要在這臺電腦上安裝資料庫服務器
MySQL的資料庫服務器的存盤方式:
在資料庫服務器的內部,通過資料庫存盤資料,通常情況下一個應用創建一個資料庫,
在資料庫中,一般用表存盤資料,在一個系統中,通常為每個物體創建一個表,
在一個表中,往往會有很多條記錄,一個物體的實體,會創建一個新的記錄,
接下來我們來介紹一下SQL陳述句:
SQL:結構化查詢語言(通俗點:訪問資料庫的語言)
SQL的分類:①DDL:資料定義語言 ②DCL:資料控制語言
③DML:資料操縱語言 ④DQL:資料查詢語言
首先是學習資料庫的操作: 創建資料庫、查看資料庫、修改資料庫、洗掉資料庫
創建資料庫:create database 資料庫名稱 [character set 字符集 collate 字符集校對規則]; // 【】中的內容可以省略

查看資料庫:
①查看資料庫服務器內所有資料庫:show databases;

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

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

洗掉資料庫:drop database 資料庫名稱;

其他資料庫操作:(這個就不具體展示了)
切換資料庫:use 資料庫名稱;
查看當前資料庫:select database<>;
接下來是學習操作資料庫表:
創建表:create table 表名稱(欄位名稱 欄位型別(長度) 約束, 欄位名稱 欄位型別(長度) 約束, 欄位名稱...);

我們先介紹一下里面所涉及的內容:
欄位型別:一個物體對應一個表,一個物體屬性對應表的一個欄位,
接下來我會用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;

②查看某個表的結構資訊:desc 表名;

洗掉表:drop table 表名;

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

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

洗掉列:alter table 表名 drop 列名;

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

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

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

對資料庫表的記錄進行操作:
添加表的記錄:
插入某些列:insert into 表名 (列名1,列名2,列名3......) values(值1,值2,值3.........);

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

注意事項:
1. 值的型別與資料庫表列的型別一致,
2. 值的順序與資料庫中表列的順序一致,
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】; 將表洗掉,然后重新創建一個結構一樣的表,事務不能控制DDL,
ps:關于事務,到MYSQL02時會講,
查看表的記錄:
基本查詢:select * from 表名; // 查詢所有,也可以添加條件,只查詢個別,

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

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

范圍查詢:in (區間)

模糊查詢:

模糊查詢介紹:
①like 'C_'; // 必須是2個字,且C開頭
②like 'C%'; // 只要以C開頭即可
③like '%C%'; // 只要其中有C即可
④like '&C'; // 只要結尾有C即可
排序查詢:條件后面使用 order by 欄位名稱 asc升序【默認】 desc降序

分組統計查詢:
聚合函式的使用: sum();、count();、max();、min();、avg(); // 這里就不舉例了
注:where的子句后面不能跟著聚合函式,如果現在使用帶有聚合函式的條件過濾,需要使用 having關鍵字,
分組查詢:用group by 欄位名稱 【這個例子不標準】

小結:
以上就是本次MySQL資料庫的基本使用介紹,后面我將會接著介紹多表以及事務,
加油!
時間:2020-03-25 02:06:17
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/66630.html
標籤:MySQL
上一篇:跪求pb10/11/12下可用的nvo_commdlg
下一篇:Mysql字串截取函式使用教程

