一.爲什麼不用文件存儲數據,而用數據庫?
存儲數據用文件就可以了,爲什麼還要弄個數據庫?
文件保存數據有以下幾個缺點:
●文件的安全性問題
●文件不利於數據查詢和管理
●文件不利於存儲海量數據
●文件在程序中控制不方便
數據庫存儲介質:
●磁盤和內存
數據庫, 它能更有效的管理數據。數據庫可以提供遠程服務,即通過遠程連接來使用數據庫,因此也稱爲數據庫服務器。
二.關係型數據庫和非關係型數據庫
數據庫大體可以分爲關係型數據庫和非關係型數據庫。
●關係型數據庫:
是指採用了關係模型來組織數據的數據庫。簡單來說, 關係模型指的就是二維表格模型,而一個關係型數據庫就是由二維表及其之間的聯繫所組成的一個數據組織。
基於標準的SQL,只是內部一些實現有區別。常用的關係型數據庫如:
- Oracle:甲骨文產品,適合大型項目,適用於做複雜的業務邏輯,如ERP、 OA等企業信息系統。收費。
- MySQL:屬於甲骨文,不適合做複雜的業務,開源免費。
- SQL Server:微軟的產品,安裝部署在windows server.上,適用於中大型項目。收費。
●非關係型數據庫:
不規定基於SQL實現。如:
- 基於鍵值對(Key-Value) : 如memcached、redis
- 基於文檔型: 如mongodb
區別:
三.客戶端連接 MySQL 服務器
MySQL默認只允許在服務器本機 使用 root 用戶登錄,要開啓 root 用戶的遠程登錄,在MySQL服務器本機執行:
mysql -u root -p
要求輸入密碼,沒有設置密碼則直接回車。
四.數據庫操作
1.顯示當前數據庫
show databases;
2.創建數據庫
CREATE DATABASE db_ name ;
說明:當我們創建數據庫沒有指定字符集和校驗規則時,系統使用默認字符集: utf8, 校驗規則是: utf8_ general_ ci
如果系統沒有 db_ test 的數據庫,則創建一 個使用 utf8mb4 字符集的db_ test 數據庫,如果有則不創建.
CREATE DATABASE IF NOT EXISTS db_ test CHARACTER SET utf8mb4;
說明:MySQL的utf8編碼不是真正的utf8,沒有包含某些複雜的中文字符。MySQL真正的utf8是使用utf8mb4,建議大家都使用utf8mb4
3.使用數據庫
use 數據庫名;
4.刪除數據庫
DROP DATABASE [IF EXISTS] db_ name ;
說明:數據庫刪除以後,內部看不到對應的數據庫,裏邊的表和數據全部被刪除。
用法:
drop database if exists db_ test1;
drop database if exists db_ test2;
五.常用數據類型
六.操作表
1.創建表
create table stu_test(
id int,
name varchar(20),
password varchar(50),
age int,
sex varchar(1)
);
2.查看錶結構
desc 表名;
3.刪除表
語法格式:
DROP TABLE [IF EXISTS] tb1_ name ,[ tb1_ name] …
示例:
–刪除stu__test表
drop table stu_ test;
–如果存在stu_ _test 表,則刪除stu_test表
drop table if exists stu_test;