首页 > 代码库 > mysql基本介绍

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

mysql基本介绍