美文网首页
MySQL语法基础

MySQL语法基础

作者: C86guli | 来源:发表于2017-01-05 15:05 被阅读52次

SQL:

DDL: CREATE, ALTER, DROP, GRANT, REVOKE
DML: INSERT, DELETE, UPDATE, SELECT

MySQL数据类型

字符型
    固定长度:CHAR
    可变长度:VARCHAR
    mysql: BINARY, VARBINARY - 区分大小写

数值型
    精确数值型
        int: tinyint, smallint, mediumint, int, bigint
    浮点型
        float, double

日期时间
    date
    time
    datetime
    year(4)
    year(2)

内置类型
    枚举
        ENUM(仍是字符)

    集合
        SET(元素可自由组合)

类型修饰:
    NULL 可为空
    NOT NULL 不可为空
    DEFAULT 给一个默认值

    UNSIGNED 无符号

    AUTO_INCREMENT 自增长,限于整形,且字段必须为主键或唯一键

    PRIMARY KEY 主键
    UNIQUE KEY 唯一键


在MySQL中,数值不可加引号,字符需加引号

DDL:

CREATE DATABASE
CREATE TABLE
CREATE USER

DROP DATABASE
DROP TABLE
DROP USER

GRANT
REVOKE

DML:

INSERT
DELETE
UPDATE
SELECT

创建数据库:

CREATE DATABASE DB_NAME;
DROP DATABASE DB_NAME; - 危险操作,只能靠备份恢复

SHOW DATABASES;
SHOW TABLES;

创建表:

CREATE TABLE [DB_NAME].TABLE_NAME (COLUMN DEFINATION)
    COLUMN DEFINATION:
    (col1_name data_type [修饰符], col2_name data_type [修饰符]..)

例子:
创建一个学生表:students(SID, Name, Age, Gender, Class)

CREATE TABLE students (
ID INT UNSIGNED NOT NULL UNIQUE KEY AUTO_INCREMENT, 
Name CHAR(10) NOT NULL, 
Age TINYINT, 
Gender ENUM('f', 'm') NOT NULL, 
Class VARCHAR(50));

查看表,删除表

DESC TB_NAME; - 查看

DROP TABLE TB_NAME; - 删除

管理用户:

CREATE USER USER_NAME@HOST [INDENTIFIED BY ‘password’];

例如:

CREATE USER 'tuser'@'192.168.%.%' IDENTIFIED BY 'guli123';

HOST表示格式:

IP
网络地址

MySQL的字符通配符:
    %: 匹配任意长度的任意字符
    _: 匹配任意单个字符


DROP USER USER_NAME@HOST; - 删除用户

创建用户并赋予权限

GRANT 权限列表 ON DB_NAME.TB_NAME TO USERNAME@HOST [INDENTIFIED BY ‘password’];

权限列表:
    ALL PRIVILEGES, 可简写为 ALL

DB_NAME: 
    *:所有库

TB_NAME:
    *:所有表

刷新授权表,使得权限修改生效

FLUSH PRIVILEGES; - 刷新授权表,使得权限修改生效

回收权限

REVOKE 权限列表 ON DB_NAME.TB_NAME FROM USERNAME@HOST; - 回收权限

DML:

插入数据:

INSERT INTO tb_name [(col1, col2, ..)] VALUE|VALUES (val1, val2, ..), (val1, val2, ..);

字段和值必须一一对应。
VALUE 和 VALUES 都可以。

INSERT INTO students (Name,Age,Gender,Class) VALUES ('tom',20,'f','class 01'), ('jerry',    23,'f','class 03');

查看刚才插入的数据

SELECT * FROM test.students;

查询数据:

SELECT 字段列表 FROM 表 WHERE 条件子句 ORDER BY 字段;

条件的组合:
    and 与
    or 或
    not 非

条件子句,某个数据等于、大于、不等于..:
    =
    >
    >=  
    <=
    !=

字段值在某个区间内
    BETWEEN start_value AND end_value

模糊匹配的条件子句
    LIKE:模糊匹配     
        WHERE Name LIKE “vir%”;  
        缺点是速度较慢,较消耗资源

    RLIKE: 正则匹配 

删除数据:

DELETE FROM tb_name WHERE 条件子句 [LIMIT n];

DELETE FROM students WHERE Gender == ‘f’;

更新数据:

UPDATE tb_name SET col1=new_value1 WHERE 条件子句;

几个常用SHOW命令:

查看支持哪些存储引擎:

SHOW ENGINES;

查看表的元数据信息:

SHOW TABLE STATUS;
SHOW TABLE STATUS\G; - 竖排显示

SHOW 输出信息的部分字段说明:
    Data_free - 剩余空间,0表示无限制



    MySQL存储数据的方式:
    创建一张表之后,会先分配一段空间在磁盘上,之后根据需要增加。
    
    Collation - 排序规则
        字符集内部,字符的排序有所不同。
        比如  abcd..zABCD..Z
            aAbBcC..    


SHOW CHARACTER SET; - 查看支持的字符集

SHOW COLLATION; - 限制排序规则

SHOW TABLES;

SHOW DATABASES;

MySQL的各种工作属性是通过服务器变量来定义的:

SHOW {GLOBAL|SESSION} VARIABLES [LIKE ‘xxx’]; - 查看全局或者会话的变量

MySQL运行时的诸多统计数据会被记录在状态变量中:

SHOW {GLOBAL|SESSION} STATUS [LIKE ‘xxx’]; 

MySQL 的日志:

事务日志,二进制日志,查询日志,慢查询日志,错误日志

MySQL中字符的大小写:

1,SQL关键字、函数名不区分大小写
但注意遵循同一种风格,因为缓存命中与此相关。

2,数据库、表、索引、视图名称是否区分大小写,取决于底层的OS和FileSystem
例如,Windows 不区分大小写,Linux区分大小写。
尽量以不区分大小写来对待。

3,存储过程、存储函数、事件调度器不区分字符大小写,但触发器区分

4,表的别名不区分大小写

5,字段中的字符数据,类型为 binary,blob 时,区分大小写,其他字符型不区分大小写。

MySQL中的引号:

MySQL中可用 '',"", ``,及单引号,双引号,反引号,MySQL 并不区别对待他们,意义相同。

相关文章

  • 基础查询

    1. 数据查询语句的基础语法 1.1 基础语法 在MySQL中 select 表示查询,select可以单独成句,...

  • 数据查询语句的基础语法

    1. 数据查询语句的基础语法 1.1 基础语法 在MySQL中 select 表示查询,select可以单独成句,...

  • 第3章 基础查询语法

    1. 数据查询语句的基础语法 1.1 基础语法 在MySQL中 select 表示查询,select可以单独成句,...

  • MySQL-语法-MySQL基础语法

    1.SQL语句分类 1.DDL(Data Definition Language):数据定义语言,用来定义数据库对...

  • 蔓蔓的学习之路😂

    前端:java语法基础,python语法基础,爬虫,各种大数据技术; 数据库:mysql,sql等等各种数据库 数...

  • Mysql基础语法

    1. 登陆mysql 登陆mysql : 退出mysql: 2. SQL创建数据库 显示数据库 : 注意: inf...

  • mysql 基础语法

    (1)-uroot -p 或者mysql -uroot :连接数据库 (2) mysql select versi...

  • MySQL基础语法

    查询 分组 筛选 嵌套 排序 时间 数据清洗 表相关操作 JOIN

  • MySQL语法基础

    SQL: MySQL数据类型 DDL: DML: 创建数据库: 创建表: 例子:创建一个学生表:students(...

  • mySql基础语法

    、连接MYSQL。格式: mysql -h主机地址 -u用户名 -p用户密码1、连接到本机上的MYSQL。首先打开...

网友评论

      本文标题:MySQL语法基础

      本文链接:https://www.haomeiwen.com/subject/pxszvttx.html