目錄
資料庫的基本概念
MySQL資料庫軟體
安裝過程
解除安裝步驟
配置過程
SQL的一些基本用法
資料庫的基本概念
資料庫,簡稱 :DB
什麼資料庫?
- 簡單來說就是用於儲存和管理資料的倉庫。
它的的特點:
它本質上是一個檔案系統,用來持久化儲存資料用的
使資料儲存和管理都變得非常方便
使用同一的運算元據庫的SQL語言
資料庫的常見軟體以及安裝操作等;
參考《MySQL基礎.docx》
關注公眾號:回覆 pdf ,獲取。
MySQL資料庫軟體
- 安裝
安裝步驟參考《MySQL基礎.docx》,比較詳細可以挑著看;
關注公眾號:回覆 pdf ,獲取。
- 解除安裝方法
- 複製 datadir=”C:/ProgramData/MySQL/MySQL Server 5.5/Data/“
去mysql的安裝目錄中找到my.ini檔案
解除安裝MySQL
刪除C:/ProgramData目錄下的MySQL資料夾。
配置方法
MySQL服務啟動
net start mysql : 啟動mysql的服務
net stop mysql:關閉mysql服務
手動。
cmd–> services.msc 開啟服務的視窗
使用管理員開啟cmd
- MySQL登入
mysql -uroot -p密碼
mysql -hip -uroot -p連線目標的密碼
mysql –host=ip –user=root –password=連線目標的密碼
- MySQL退出
exit
quit
MySQL目錄結構
資料庫:資料夾
表:檔案
資料:資料
幾個概念
配置檔案 my.ini
MySQL資料目錄:datadir=”C:/ProgramData/MySQL/MySQL Server 5.5/Data/“
MySQL安裝目錄:basedir=”D:/develop/MySQL/“
SQL
1.什麼是SQL?
SQL(Structured Query Language,結構化查詢語言)是用來操作關聯式資料庫的語言。
2.SQL的基本書寫規則:
SQL語句要以分號(;)結尾;
SQL語句不區分關鍵字大小寫,插入表中的資料區分大小寫;
常數的書寫方式是固定的,字串和日期常數需要使用單引號(’)括起來,數字常數無需加註單引號(直接書寫數字即可);
單詞間需要用半形空格或者換行來分隔,不能使用全形空格作為單詞的分隔符;
SQL分類
DDL(Data Definition Language,資料定義語言)用來建立或者刪除儲存資料用的資料庫以及資料庫中的表等物件。DDL 包含以下幾種指令。
CREATE:建立資料庫和表等物件
DROP:刪除資料庫和表等物件
ALTER:修改資料庫和表等物件的結構
DML(Data Manipulation Language,資料操縱語言)用來查詢或者變更表中的記錄。DML 包含以下幾種指令。
CREATE:建立資料庫和表等物件
DROP:刪除資料庫和表等物件
ALTER:修改資料庫和表等物件的結構
DQL(Data Query Language)資料查詢語言 用來查詢資料庫中表的記錄(資料)。關鍵字:select, where 等
DCL(Data Control Language,資料控制語言)用來確認或者取消對資料庫中的資料進行的變更。除此之外,還可以對 RDBMS 的使用者是否有許可權運算元據庫中的物件(資料庫表等)進行設定。DCL 包含以下幾種指令。
COMMIT:確認對資料庫中的資料進行的變更
ROLLBACK:取消對資料庫中的資料進行的變更
GRANT:賦予使用者操作許可權
REVOKE:取消使用者的操作許可權
DDL:運算元據庫、表
DML:增刪改表中資料
- 新增資料:
語法:
insert into 表名(列名1,列名2,…列名n) values(值1,值2,…值n);
注意:
列名和值要一一對應。
如果表名後,不定義列名,則預設給所有列新增值 insert into 表名 values(值1,值2,…值n);
除了數字型別,其他型別需要使用引號(單雙都可以)引起來
刪除資料:
語法:
delete from 表名 [where 條件]
注意:
語法:
update 表名 set 列名1 = 值1, 列名2 = 值2,… [where 條件];
如果不加條件,則刪除表中所有記錄。
如果要刪除所有記錄
delete from 表名; – 不推薦使用。有多少條記錄就會執行多少次刪除操作
TRUNCATE TABLE 表名; – 推薦使用,效率更高 先刪除表,然後再建立一張一樣的表。
修改資料:
- 注意:
- 如果不加任何條件,則會將表中所有記錄全部修改。
DQL:查詢表中的記錄
- select * from 表名;
語法:
select 欄位列表 from 表名列表 where 條件列表 group by 分組欄位 having 分組之後的條件 order by 排序 limit 分頁限定
基礎查詢
多個欄位的查詢
select 欄位名1,欄位名2... from 表名;
注意:
如果查詢所有欄位,則可以使用*來替代欄位列表。
- 去除重複:
* distinct
- 計算列
* 一般可以使用四則運算計算一些列的值。(一般只會進行數值型的計算)* ifnull(表示式1,表示式2):null參與的運算,計算結果都為null * 表示式1:哪個欄位需要判斷是否為null * 如果該欄位為null後的替換值。
- 起別名:
* as:as也可以省略
條件查詢
where子句後跟條件
運算子
* > 、< 、<= 、>= 、= 、<>* BETWEEN...AND* IN( 集合)* LIKE:模糊查詢 * 佔位符: * _:單個任意字元 * %:多個任意字元* IS NULL* and 或 &&* or 或 ||* not 或 !
` – 查詢年齡大於20歲
SELECT * FROM student WHERE age > 20;
SELECT * FROM student WHERE age >= 20;
-- 查詢年齡等於20歲
SELECT * FROM student WHERE age = 20;
-- 查詢年齡不等於20歲
SELECT * FROM student WHERE age != 20;
SELECT * FROM student WHERE age <> 20;
-- 查詢年齡大於等於20 小於等於30
SELECT * FROM student WHERE age >= 20 && age <=30;
SELECT * FROM student WHERE age >= 20 AND age <=30;
SELECT * FROM student WHERE age BETWEEN 20 AND 30;
-- 查詢年齡22歲,18歲,25歲的資訊
SELECT * FROM student WHERE age = 22 OR age = 18 OR age = 25
SELECT * FROM student WHERE age IN (22,18,25);
-- 查詢英語成績為null
SELECT * FROM student WHERE english = NULL; -- 不對的。null值不能使用 = (!=) 判斷
SELECT * FROM student WHERE english IS NULL;
-- 查詢英語成績不為null
SELECT * FROM student WHERE english IS NOT NULL;
-- 查詢姓張的有哪些?like
SELECT * FROM student WHERE NAME LIKE '張%';
-- 查詢姓名第二個字是錦的人
SELECT * FROM student WHERE NAME LIKE "_錦%";
-- 查詢姓名是3個字的人
SELECT * FROM student WHERE NAME LIKE '___';
-- 查詢姓名中包含魚的人
SELECT * FROM student WHERE NAME LIKE '%魚%';
`
長按二維碼
獲取更多精彩
Java開發訓練營
本作品採用《CC 協議》,轉載必須註明作者和本文連結