RDBMS:
1. 数据库创建,删除
2. 创建表,删除表,修改表
3. 索引的创建, 删除
4. 用户 和权限
5. 数据增,删, 改
6. 查询
DML:Data Manapulate Language:数据操作语言
INSERT ,REPLACE,UPDATE,DELETE
DDL:Data Defination Language:数据定义语言
CREATE,ALTER,DROP
DCL:Data Control Language:数据控制语言
SELECT
RDMBS:
egreSQL(第一个数据库)
三大数据库:Oracle,Sybase,Infomix,SQL Server
MySQL,SQL,MySQL AB
去IOE:IBM,Oracle,EMC
DBMS:
1.数据管理独立性
2.有效的完成数据存储
3.数据完整性和安全性
4.数据集中管理
5.并发存储与故障恢复
6.减少应用程序开发时间
SQL:结构化查询语言
MySQL:www.mysql.com
Community Edition 社区版
Enterprise Edition 企业版
软件包格式:
软件包管理器特有的格式:rpm包,.ext等格式
通用二进制格式
源程序
mysql
-u username
-p
-h myser_server
用户:username@host
yum list all | grep mysql
yum -y install mysql-server
service mysqld start
netstat -tnlp
关系数据库对象:
库
表
索引
视图
约束
存储过程
存储函数
触发器
游标
用户
权限
事务
表:
行,列
表:实体
行: 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>CREATE DATABASE mydb;
mysql>USE mydb;
mysql>CREATE TABLE students(Name CHAR(20) NOT NULL,Age TINYINT UNSIGNED,Gender CHAR(1));
mysql>SHOW TABLES;
mysql>DESC students;
mysql>ALTER TABLE students ADD course VARCHAR(100);
mysql>DESC students;
mysql>ALTER TABLE students CHANGE course Course VARCHAR(100) AFTER Name;
mysql>INSERT INTO students (Name,Gender) VALUE ('LingHuchong','M'),('XiaoLongnu','F');
mysql>INSERT INTO students VALUES ('XiaoXiangzi','HaMogong',57,'M');
mysql>UPDATE students SET Course='Pixiejianfa';
mysql>UPDATE students SET Course='Hamogong' WHERE Name='XiaoXiangzi';
mysql>SELECT * FROM students;
mysql>SELECT Name,Course FROM students WHERE Gender='M';
mysql>SELECT * FROM students;
mysql>DELETE FROM students WHERE Course='Pixiejianfa';