mysql基本介绍
RDBMS:
1、數據庫創建、刪除除
2、創建表、刪除表、修改表
3、索引的創建、刪除
4、用戶和權限
5、數據增、刪、改
6、查詢
DML:Data Manapulate Language: 數據操作語言
?? ?INSERT, REPLACE, UPDATE, DELETE
DDL:Data Defination Lanuage: 數據定義語言
?? ?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
?? ?
?? ?
用戶:USERNAME@HOST
?? ?
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._
?? ??? ??? ?%:匹配任意字符;
?? ??? ??? ?
?? ?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';
?? ?
?? ?查看用戶的授權: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
轉載于:https://www.cnblogs.com/jjzd/p/5861084.html
總結
- 上一篇: iOS:app直播---采集篇
- 下一篇: 并查集(disjoint set)的实现