DBMS:
數(shù)據(jù)管理獨立性
有效地完成數(shù)據(jù)的存取
數(shù)據(jù)完整性和安全性
數(shù)據(jù)集中管理
并發(fā)存儲與故障恢復(fù)
減少應(yīng)用程序開發(fā)時間
SQL: structure query language
SQL-分析器-計劃執(zhí)行器-優(yōu)化器-文件的存取方法-緩存器-磁盤空間管理器-故障恢復(fù)管理器
DDL歉闰,DML冤今,DCL
MySQL:
社區(qū)版
企業(yè)版
軟件包格式:
軟件包管理器特有的格式:
rpm/包省撑,.exe格式等
通用二進(jìn)制格式
源程序
mysql客戶端
-u USERNAME
-p
-h MYSQL_SERVER
-h 172.0.0.1
Linux:socket
Windows:memory
mysql客戶端:
交互式模式
批處理模式
執(zhí)行mysql腳本
交互式模式中的命令類別:
客戶端命令
服務(wù)器端命令
必須使用語句結(jié)束符,默認(rèn)為分號扇售;
SQL接口:
Oracle藕届,PL/SQL
SQL Server,T-SQL
用戶:SUERNAME@HOST
\q 或者 quit 退出mysql
tcp/3306 以mysql 或mysql組的身份去運(yùn)行
RDNMS:
mysql本身是一個數(shù)據(jù)庫管理服務(wù)器鲸湃,里面有很多數(shù)據(jù)庫赠涮,很多數(shù)據(jù)表,里面有一個專門的mysql數(shù)據(jù)庫暗挑,普通用戶是看不到的笋除,用來記錄用戶數(shù)據(jù)庫的信息的,類似文件系統(tǒng)的炸裆,索引表垃它;
關(guān)系數(shù)據(jù)庫對象:
庫
表
索引
視圖
約束
存儲過程
存儲函數(shù)
觸發(fā)器
游標(biāo)
用戶
權(quán)限
事務(wù)
表:
行,列
表:實體
行:row
列:field 烹看,column
字段名稱国拇,數(shù)據(jù)類型,類型修飾符(限制)
字符
-- CHAR(n)
-- VARCHAR(n)
-- BINARY(n)
-- VARBINARY(n)
-- TEXT(n)小大中長
-- BLOB(n) 二進(jìn)制大對象
數(shù)值
精確數(shù)值
整形
--TINYINT
--MEDIUMINT
--INT
--BICINT
修飾符:UNSIGNED惯殊,無符號
NOT NULL
十進(jìn)制
--DECIMAL
近似數(shù)值型
浮點型
--FLOAT
--DOUBLE
日期
--DATE
--TIME
--DATETIME
--STAMP
布爾
內(nèi)置:ENUM酱吝,SET
DDL :定義數(shù)據(jù)庫對象
----CREATE
----ALTER
----DROP
DML:
----INSERT
----UPDATE
----DELETE
DCL:
----GRANT
----REVOKE
創(chuàng)建數(shù)據(jù)庫:
CREATE DATABASE db_name
CREATE DATABASE [IF NOT EXISTS] db_name
DROP DATABASE [IF EXISTS] db_name (注意沒有回收站)
創(chuàng)建表:
CREATE TABLE db_name.tb_name(col1,col2,...);
USE db_name設(shè)置默認(rèn)數(shù)據(jù)庫
SHOW TABLES土思;查看表
SHOW TABLES FROM db_name务热;查看庫中的表
查看表的結(jié)構(gòu):DESC tb_name
刪除表:DROP TABLE td_name;
修改表:
ALTER TABLE tb_name;
MODIFY
CHANGE
ADD
DROP
DML:
INSERT INTO tb_name (col1 ,col2 ) VALUES|VALUE ('STRING' ,NUM...);
INSERT INTO tb_name (col1 ,col2 ) VALUES|VALUE ('STRING' ,NUM...),('STRING' ,NUM...);--支持批量插入
可以不不指定字段己儒,表示所有字段都插入值
UPDATE tb_name SET column=vlaue WHERE 陕习;切記要加上條件,不然所有數(shù)據(jù)都被改了
REPLACE INTO
選擇和投影
選擇(針對行):指定以某字段作為搜索碼址愿,做邏輯比較该镣,篩選符合條件的行;
--WHERE指定選擇條件
投影(針對列):
DELETE FROM tb_name WHERE CONDITION;
選擇:
SELECT 字段 FROM tb_name WHERE CONDITION;
- :表示所有字段
WHERE:沒有條件表示顯示所有行
創(chuàng)建用戶:
CREATE USER 'USERNAME'@'HOST' [ IDENTIFIED BY 'PASSWORD' ] ;
DROP USER 'USERNAME'@'HOST'
HOST:
--IP:
--HOSTNMAE:
--NETWORK:
--通配符:
----:匹配任意單個字符响谓。172.16.0.
----%:匹配任意長度的任意字符损合。
注意:要是用通配符的時候一定要用單引號
jerry@'%'
DCL:
GRANT pri1,pri2,...ON DB_NAME.TB_NAME TO 'USERNAME'@'HOST' [ IDENTIFIED BY 'PASSWORD' ];
REVOKE pri1,pri2,... ON DB_NAME.TB_NAME FROM 'USERNAME'@'HOST';
查看用戶的授權(quán):
SHOW GRANTs FOR 'USERNAME'@'HOST';
ALL PRIVILEGES;
example:
1:CREATE USER 'jerry'@'%' IDENTIFIED BY 'jerry';
2:SHOW GRANTS FOR 'jerry'@'%';