標籤:
RDBMS:
1、資料庫建立、刪除除
2、建立表、刪除表、修改表
3、索引的建立、刪除
4、使用者和許可權
5、資料增、刪、改
6、查詢
DML:Data Manapulate Language: 資料操作語言
INSERT, REPLACE, UPDATE, DELETE
DDL:Data Defination Lanuage: 資料定義語言 (Data Definition Language)
CREATE, ALTER, DROP
DCL:Data Control Language: 資料控制語言
GRANT, REVOKE
SELECT
RDBMS: egreSQL
Oracle, Sybase, Infomix, SQL Server, DB2
MySQL, PostgreSQL, pgsql, EnterpriseDB
MySQL, SQL, MySQL AB
去IOE: IBM, Oralce, EMC
Oracle,
IBM,
SUN-->MySQL
BEA: WebLogic
PepoleSoft
OpenOffice
LibreOffice
MariaDB
MySQL
--> Percona
反關聯式模式:NoSQL
MongoDB
Redis
HBase
DBMS:
資料管理獨立性;
有效地完成資料存取;
資料完整性和安全性;
資料集中管理;
並發儲存與故障恢複;
減少應用程式開發時間;
SQL: ANSI
sql86, sql89, sql92, sql99
DDL, DML, DCL
MySQL:
Community Edtion
Enterprise Edtion
軟體包格式:
軟體包管理器特有的格式
rpm包,.exe格式等
通用二進位格式
來源程式
RHEL 5.8 (32bit)
mysql, mysql-server
MySQL的RPM包
LAMP:
MySQL
通用二進位
mysql, mysql-server
二進位程式
mysql
-u USERNAME
-p
-h MYSER_SERVER
-h 127.0.0.1
Linux: socket
Windows: memory
mysql用戶端:
互動式模式
批處理模式
執行mysql指令碼
互動式模式中的命令類別:
用戶端命令
伺服器端命令
都必須使用語句結束符,預設為分號;
SQL介面:
Oracle, PL/SQL
SQL Server, T-SQL
使用者:[email protected]
mysqld
tcp/3306, mysql, mysql
RDBMS:
/var/lib/mysql/
初始化:
關聯式資料庫對象:
庫
表
索引
視圖
約束
預存程序
儲存函數
觸發器
遊標
使用者
許可權
事務
表:
行,列
表:實體
行: row
列:field, column
欄位名稱,資料類型,類型修飾(限制)
字元
CHAR(n)
VARCHAR(n)
BINARY(n)
VARBINARY(n)
TEXT(n)
BLOB(n)
數值
精確數值
整型
TINYINT
SMALLINT
MEDIUMINT
INT
BIGINT
修飾符:UNSIGNED,無符號
NOT NULL
十進位
DECIMAL
近似數值
浮點型
FLOAT
DOUBLE
日期時間
DATE
TIME
DATETIME
STAMP
布爾
內建:ENUM, SET
DDL 定義資料對象
CREATE
ALTER
DROP
DML 操縱語言
INSERT
UPDATE
DELETE
DCL 控制語言
GRANT
REVOKE
建立資料庫
CREATE DATABASE db_name;
CREATE DATABASE [IF NOT EXISTS] db_name;
DROP DATABASE [IF EXISTS] db_name;
建立表
CREATE TABLE tb_name(col1,col2,...);
查看庫中的表:SHOW TABLES FROM db_name;
查看錶的結構:DESC tb_name;
刪除表:DROP TABLE tb_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=value WHERE
DELETE FROM tb_name WHERE CONDITION;
選擇:
SELECT 欄位 FROM tb_name WHERE CONDITION
*: 所有欄位
WHERE:沒有條件表示顯示所有行;
建立使用者:
CREATE USER ‘USERNAME‘@‘HOST‘ [IDENTIFIED BY ‘PASSWORD‘];
DROP USER ‘USERNAME‘@‘HOST‘;
HOST:
IP:
HOSTNAME:
NETWORK:
萬用字元
_:匹配任意單個字元, 172.16.0._
%:匹配任一字元;
[email protected]‘%‘
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‘;
查看使用者的授權:SHOW GRANTS FOR ‘USERNAME‘@‘HOST‘;
ALL PRIVILEGES
選擇和投影
MySQL基礎操作練習(所屬的庫叫做testdb):
建立如下表(包括結構和內容):
ID Name Age Gender Course
1 Ling Huchong 24 Male Hamogong
2 Huang Rong 19 Female Chilian Shenzhang
3 Lu Wushaung 18 Female Jiuyang Shenggong
4 Zhu Ziliu 52 Male Pixie Jianfa
5 Chen Jialuo 22 Male Xianglong Shiba Zhang
2、完成如下操作
(1)找出性別為女性的所有人;
(2)找出年齡大於20的所有人;
(3)修改Zhu Ziliu的Course為Kuihua Baodian;
(4)刪除年齡小於等於19歲的所有人;
(5)建立此表及所屬的庫;
(6)授權給testuser對testdb庫有所有存取權限;
mysql> FLUSH PRIVILEGES;
為使用者設定密碼:
1、mysql>SET PASSWORD FOR ‘USERNAME‘@‘HOST‘=PASSWORD(‘password‘);
2、# mysqladmin -uUSERNAME -hHOST -p password ‘password‘
3、mysql> UPDATE user SET Password=PASSWORD(‘password‘) WHERE USER=‘root‘ AND Host=‘127.0.0.1‘;
AND
OR
NOT
圖形用戶端:
1、phpMyAdmin
2、Workbench
3、MySQL Front
4、Navicat for MySQL
5、Toad
mysql基本介紹