您的位置:1010cc时时彩经典版 > 1010cc安卓版 > MySQL常用操作,必知必会学习入门

MySQL常用操作,必知必会学习入门

发布时间:2019-11-01 21:03编辑:1010cc安卓版浏览(193)

    一、基本概念

    数据库入门

    数据库: 保存有组织的数据的容器(通常是一个文件或一组文件).数据库软件应该称为 DBMS(DataBase Manage System) 数据库管理系统,数据库是指通过 DBMS 创建和操纵的容器,数据库可以是保存在硬盘上的文件,但也可以不是。你不能直接访问数据库,而是使用 DBMS 来访问,他替你访问数据库。

    表: 某种特定类型数据的结构化清单。存储在表中的数据是一种类型的数据或一个清单,数据库中的每个表都有一个名字,用来标识自己,此名字是唯一的,这表示数据库中没有其他表具有相同的名字。

    表具有一些特性,这些特定定义了数据在表中如何存储,如存储什么样的数据,数据如何分解,个部分信息如何命名等等,描述这组信息就是所谓的模式
    模式: 关于数据库和表的布局及特性的信息.

    列:表中的一个字段,所有的表都是由一个或多个列组成的。
    数据类型: 所容许的数据的类型,每个表都有相对应的数据类型,他限制(容许)该列中存储的数据。数据类型限制可存储在列中的数据种类,数据类型还帮助正确的排序数据,并在优化磁盘使用方面起重要的作用,因此,在创建表时必须对数据类型给予特别的关注

    行:表中的一个记录,
    主键:一列(或一组列),其值能够唯一区分表中的每个行。唯一标识表中每行的这个列称为主键,主键用来表示一个特定的行,没有主键,更新或删除表中特定行很困难,因为没有安全的方法保证只涉及相关的行。表中的任何列都可以作为主键,只要它满足以下条件:

    • 任何两行都不具有相同的主键值
    • 每个行都必须具有一个主键值(主键值不允许 NULL 值)。

    SQL: 结构化查询语言(Structured Query Language),是一种专门用来与数据库通信的语言。

    启动MySQL服务

    $ sudo service mysql start
    或者
    /etc/init.d/mysql start
    

    目录

    目录

      1.数据库:

      数据库(DataBase)就是一个存储数据的仓库,为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。数据库是数据管理软件。数据存储分为三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。

    基础操作

    使用root用户登陆

    $ mysql -u 用户名 -p
    

    -p表示使用密码登录

    • 什么是SQL?
    • DDL(Data Definition Language,数据定义语言)
      • 创建数据库
      • 创建表
      • 删除表
      • 更新表
    • DML(Data Manipulation Language,数据操纵语言)
      • 基本语句
        • 数据查询
        • 查询条件
        • 分组聚合
        • 数据排序
        • 数据插入
        • 数据删除
        • 数据更新
      • 进阶语句
        • 视图
        • 子查询
        • 函数
        • 谓词
        • CASE表达式
        • 表的加减法
        • 以列为单位对表进行联结
    • DCL(Data Control Language,数据控制语言)
      • 创建事务(START TRANSACTION) - 提交处理
      • 取消处理
        • 启动MySQL服务
        • 使用root用户登陆
        • 查看命令帮助信息
        • 查看授予用户的安全权限
        • 注释
        • 取消正在输入的命令
        • 查看当前含有哪些数据库
        • 连接数据库
        • 查看当前数据库中含有哪些表
        • 显示表属性
        • 显示服务器警告或错误信息
        • 退出数据库
        • 新建数据库
        • 新建数据表
        • 数据类型
          • CHAR和VARCHAR的区别
          • ENUM和SET的区别
        • 插入数据
        • SQL约束
          • 主键
          • 外键
          • 非空约束
          • 默认值约束
          • 唯一约束
        • MySQL通配符
        • MySQL查询语句关键字顺序
        • SELECT操作
          • 查看表中所有的内容
          • SELECT基本格式
          • 对查询结果排序
          • 去除重复值
          • 限制返回结果数
          • 内置函数和计算
          • 子查询
          • 连接查询
        • 删除数据库
        • 重命名数据表
        • 删除数据表
        • 在表中增加列
        • 删除列
        • 修改列
        • 修改数据类型
        • 修改表中某个值
        • 删除某行记录
        • 为某列建立索引
        • 显示某表的索引
        • 创建视图一种虚拟存在的表
        • 导入将文件中的数据保存进表
        • 导出将表中数据保存到文件中
        • 备份整个数据库
        • 备份整个表
        • 恢复数据库
        • 正则表达式
        • 空白元字符
        • 字符类预定义字符集
        • 匹配多个实例
        • 定位元字符
        • 拼接字段
        • 别名alias
        • MySQL算数操作符
        • SELECT测试
        • SQL函数
        • 常用的文本处理函数
        • 日期和时间处理函数
        • 数值处理函数
        • SQL聚集函数
        • 分组数据
          • WHERE 和 HAVING
          • GROUP BY 和 ORDER BY
        • SELECT子句顺序
        • 子查询

      2.数据库范式:

      数据库范式即数据库应该遵循的规则。目前关系数据库最常用的四种范式分别是:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BCN范式(BCNF)。

      第一范式:无重复的域。即数据库表的每一列都是不可分割的原子数据项,而不是集合、数组、记录等非原子数据项。

      第二范式:数据库表中的所有列都必须依赖于主键,这意味着一个表只描述一件事情。

      第三范式:表中的每一列只与主键直接相关而不是间接相关。

      BCN范式:Boyce-Codd,不允许出现有主键的一部分被主键另一部分或者其他部分决定。即一个表中只能有一个主键。

      举例(摘自其他博客)说明BCN:

      假设仓库管理关系表为StorehouseManage(仓库ID, 存储物品ID, 管理员ID, 数量),且有一个管理员只在一个仓库工作;一个仓库可以存储多种物品。这个数据库表中存在如下决定关系:

        (仓库ID, 存储物品ID) →(管理员ID, 数量)

        (管理员ID, 存储物品ID) → (仓库ID, 数量)

      所以,(仓库ID, 存储物品ID)和(管理员ID, 存储物品ID)都是StorehouseManage的候选关键字,表中的唯一非关键字段为数量,它是符合第三范式的。但是,由于存在如下决定关系:

        (仓库ID) → (管理员ID)

        (管理员ID) → (仓库ID)

      即存在关键字段决定关键字段的情况,所以其不符合BCNF范式。

    了解数据库和表(SHOW)

    1. SHOW DATABASES: 返回一个数据库列表,包含在这个列表中的可能是 MYSQL 内部使用的数据库.
    2. SHOW TABLES: 返回当前选择的数据库内可用表的列表
    3. SHOW COLUMS FROM customers: 要求给出一个表名,对每个字段返回一行。包含 该字段的信息。

    查看命令帮助信息

    mysql> HELP 命令名;
    

    什么是SQL?

    SQL是Structured Query Language的缩写,意思是结构化查询语言,是一种在数据库管理系统(Relational Database Management System, RDBMS)中查询数据,或通过RDBMS对数据库中的数据进行更改的语言

    常见的RDBMS有:

    • Oracle Database:甲骨文公司的RDBMS
    • SQL Server :微软公司的RDBMS
    • DB2:IBM 公司的RDBMS
    • PostgreSQL:开源的RDBMS
    • MySQL :开源的RDBMS

    注:不同RDBMS的SQL语言略有不同

    执行原理

    用户在客户端通过SQL语言,将需要的数据和对数据进行的操作的请求发送给RDBMS,RDBMS 根据该语句的内容返回所请求的数据,或者对存储在数据库中的数据进行更新。

    根据对RDBMS 赋予的指令种类的不同,SQL 语句可以分为以下三类:

    • DDL(Data Definition Language,数据定义语言)
      • CREATE: 创建数据库和表等对象
      • DROP: 删除数据库和表等对象
      • ALTER: 修改数据库和表等对象的结构
    • DML(Data Manipulation Language,数据操纵语言)
      • SELECT:查询表中的数据
      • INSERT:向表中插入新数据
      • UPDATE:更新表中的数据
      • DELETE:删除表中的数据
    • DCL(Data Control Language,数据控制语言)
      • COMMIT: 确认对数据库中的数据进行的变更
      • ROLLBACK: 取消对数据库中的数据进行的变更
      • GRANT: 赋予用户操作权限
      • REVOKE: 取消用户的操作权限

    启动MySQL服务

    $ sudo service mysql start
    

      3.数据库系统和数据库管理系统:

      数据库系统由数据库、数据库管理系统、应用开发工具构成。

      数据库管理系统(DataBase Management System, DBMS)是用来定义、管理和维护数据的软件。它是数据库系统的重要组成部分。数据库管理系统通过SQL语言来管理数据库中的数据。

    创建和操纵表

    查看授予用户的安全权限

    mysql> SHOW GRANTS;
    

    DDL(Data Definition Language,数据定义语言)

    使用root用户登陆

    $ mysql -u 用户名 -p
    

    -p表示使用密码登录

      4.SQL语言:

      SQL(Structured Query Language)语言的全称是结构化查询语言。它包括:

        - 数据库定义语言(Data Definition Language, DDL)

        - 数据操作语言(Data Manipulation Language, DML)

        - 数据控制语言(Data Control Language, DCL)

    创建表

    MySQL 不仅用于表数据操作,而且还可以用来执行数据库和表的所有操作,包括表本身的创建和处理。

    创建表的方法:

    • 使用具有交互式创建和管理表的工具
    • 使用 MySQL 语句操纵
    1. 表创建基础(CREATE TABLE)
      • 新的表明名再关键字 CREATE TABLE 之后给出
      • 表列的名字和定义,用逗号分隔
    2. 使用 NULL 值: Null 值就是没有值或者缺值,允许 NULL 值的列也允许再插入行时不给出该列的值,不允许 NULL 值的列不接受该列没有值的行,换句话说,在插入或更新行时该列必须有值。NULL 为默认值,如果不指定 NOT NULL, 则认为指定的是 NULL, NULL 值就是没有值,他不是空串,空串是一个有效的值。
    3. 主键: 主键的值必须唯一,即,表中的每个行必须具有唯一的主键值,如果主键使用单个列,则他的值必须唯一,如果使用多个列,则这些列的组合值必须唯一。
    4. 使用 AUTO_INCREMENT: 告诉 MySQL ,本列每当增加一行时自动增量,每次执行一个 INSERT 操作时, MySQL 会对该列增量,每个表只允许一个 AUTO_INCREMENT列,而且他必须被索引

    注释

    -- 单行注释
    /* 多行注释 */
    

    创建数据库

    CREATE DATABASE shop;
    

    查看命令帮助信息

    mysql> HELP 命令名;
    

      5.MySQL数据库版本和优势:

    更改表(ALTER TABLE)

    1. 1010cc时时彩经典版,增加列: ALTER TABLE vendors ADD vend_phone CHAR(20)
    2. 删除列: ALTER TABLE vendors DROP COLUMN vend_phone

    取消正在输入的命令

    c
    

    创建表

    CREATE TABLE Product(product_id     CHAR      NOT NULL, product_name   VARCHAR NOT NULL, product_type   VARCHAR  NOT NULL, sale_price     INTEGER      , purchase_price INTEGER      , regist_date    DATE         , PRIMARY KEY (product_id));
    

    每一列的数据类型是必须要指定的,数据类型包括:

    • INTEGER 整数型
    • NUMERIC ( 全体位数, 小数位数)
    • CHAR 定长字符串
    • VARCHAR 可变长字符串
    • DATE 日期型

    查看授予用户的安全权限

    mysql> SHOW GRANTS;
    

      常见数据库

      商业数据库:甲骨文的Oracle、IBM的DB2、微软的Access和SQL Server。开源数据库:PostgreSQL、MySQL。

    删除表 (DROP TABLE)

    查看当前含有哪些数据库

    mysql> SHOW DATABASES;
    

    删除表

    DROP TABLE Product;
    

    注释

    -- 单行注释
    
    /* 多行注释 */
    

      版本分类

      根据操作系统:Windows版,UNIX版,Linux版,MacOS版;根据开发情况:Alpha、Beta、Gamma与Available(GA)。

      alpha 暗示这是一个以展示新特性为目的的版本,存在比较多的不稳定因素,还会向代码中添加新新特性

      beta 以后的beta版、发布版或产品发布中,所有API、外部可视结构和SQL命令列均不再更改,不再向代码中添加影响代码稳定性的新特性。Gamma比Beta版更高级。

      GA如果没有后缀,则暗示这是一个大多数情况下可用版本或者是产品版本。. GA releases则是稳定版。

      优势:MySQL开放源码、跨平台性、价格优势、功能强大且使用方便。

    重命名表 (RENAME TABLE)

    连接数据库

    mysql> USE 数据库名
    

    更新表

    -- 在表中增加一列(ADD COLUMN)ALTER TABLE Product ADD COLUMN product_name_pinyin VARCHAR;-- 在表中删除一列(DROP COLUMN)ALTER TABLE Product DROP COLUMN product_name_pinyin;-- 变更表名RENAME TABLE Poduct to Product;
    

    取消正在输入的命令

    c
    

      Linux安装MySQL

      

    插入数据

    使用 INSERT 语句将数据插入表中, INSERT是用来插入(或添加)行到数据库表的,插入可以用集中方式使用

    1. 插入完整行,使用 INSERT ,要求指定表明和被插入到新行的值,最好是写上列名,这样可以保证列明是正确的。
    2. 插入多个行: INSERT 可以插入一行到一个表中,如果想一次性插入多行的话,就需要使用多个 INSERT 或者使用单条 INSERT 语句有多组值,每组值用一对圆括号括起来

    查看当前数据库中含有哪些表

    mysql> SHOW TABLES;
    

    mysql> DESCRIBE 表名;
    

    DML(Data Manipulation Language,数据操纵语言)

    查看当前含有哪些数据库

    mysql> SHOW DATABASES;
    

    二、MySQL数据类型(摘自菜鸟教程:

      MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

    更新和删除数据

    显示表属性

    mysql> SHOW COLUMNS FROM 表名;
    

    该命令将会输出指定表的每个字段的字段名、数据类型、非空约束、是否是主键和默认值等信息。

    基本语句

    连接数据库

    mysql> USE 数据库名
    

      1.整数类型的存储和范围

    类型 大小 范围(有符号) 范围(无符号) 用途
    TINYINT 1 字节 (-128,127) (0,255) 小整数值
    SMALLINT 2 字节 (-32 768,32 767) (0,65 535) 大整数值
    MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值
    INT或INTEGER 4 字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
    BIGINT 8 字节 (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值
    FLOAT 4 字节 (-3.402 823 466 E 38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E 38) 0,(1.175 494 351 E-38,3.402 823 466 E 38) 单精度
    浮点数值
    DOUBLE 8 字节 (-1.797 693 134 862 315 7 E 308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E 308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E 308) 双精度
    浮点数值
    DECIMAL 对DECIMAL(M,D) ,如果M>D,为M 2否则为D 2 依赖于M和D的值 依赖于M和D的值 小数值

    更新数据

    为了更新(修改)表中的数据,可使用 UPDATE 语句,可采用两种方式使用 UPDATE:
    使用 UPDATE 的时候一定要注意,不要省略 WHERE 子句,使用 UPDATE 语句总是以要更新的表的名字开始.要以 WHERE 子句(用来告诉 MySQL 更新哪一行)结束。在更新多个列时,只需要使用单个 SET 命令,每个 列=值对之间用逗号分隔(最后一列之后不用逗号);

    • 更新表中特定行
    • 更新表中所有行

    显示服务器警告或错误信息

    mysql> SHOW ERRORS;
    

    mysql> SHOW WARNINGS;
    

    数据查询

    -- 查询出所有的列SELECT * FROM Product;-- 从表中查询出需要的列SELECT product_id, product_name, purchase_price  FROM Product;-- 为列设定别名SELECT product_id AS id,       product_name AS name,       purchase_price AS “价格”  FROM Product;-- 将查询出的一列指定为常数SELECT '2009-02-24' AS date, product_id, product_name  FROM Product;-- 从查询结果中删除重复行SELECT DISTINCT product_type  FROM Product;
    

    查看当前数据库中含有哪些表

    mysql> SHOW TABLES;
    

    mysql> DESCRIBE 表名;
    

      2.日期和时间类型

    类型 大小 范围 格式 用途
    DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
    TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
    YEAR 1 1901/2155 YYYY 年份值
    DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
    TIMESTAMP 4

    1970-01-01 00:00:00/2038

    结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07

    YYYYMMDD HHMMSS 混合日期和时间值,时间戳

    删除数据

    为了从一个表中删除(去掉)数据,使用 DELETE 语句,可依两种方式使用 DELETE

    • 从表中删除特定的行 DELETE FROM products WHERE cust_id = 1006

    退出数据库

    mysql> EXIT/QUIT;
    

    查询条件

    SELECT product_name, product_type  FROM Product; WHERE product_type = '衣服';
    

    显示表属性

    mysql> SHOW COLUMNS FROM 表名;
    

    该命令将会输出指定表的每个字段的字段名、数据类型、非空约束、是否是主键和默认值等信息。

      3.字符串类型

    类型 大小 用途
    CHAR 0-255字节 定长字符串
    VARCHAR 0-65535 字节 变长字符串
    TINYTEXT 0-255字节 短文本字符串
    TEXT 0-65 535字节 长文本数据
    MEDIUMTEXT 0-16 777 215字节 中等长度文本数据
    LONGTEXT 0-4 294 967 295字节 极大文本数据
    TINYBLOB  0-255字节  不超过 255 个字符的二进制字符串
    BLOB 0-65 535字节 二进制形式的长文本数据
    MEDIUMBLOB 0-16 777 215字节 二进制形式的中等长度文本数据
    LONGBLOB 0-4 294 967 295字节 二进制形式的极大文本数据

    更新和删除的指导原则

    如果执行 UPDATE 而不带 WHERE 子句,则表中每行都将应用新值更新,类似的,如果执行 DELETE 语句而不带 WHERE 子句,表的所有数据都将被删除。

    • 除非缺失打算更新和删除每一行,否则绝对不要使用不带 WHERE子句的 UPDATEDELETE语句
    • 保证每个表都有主键,尽可能像 WHERE子句那样使用它
    • 在对 UPDATE 或 DELETE 语句使用 WHERE 子句前,最好先用 SELECT 进行测试,保证它过滤的是正确的记录,以防止编写的 WHERE 子句不正确
    • 使用强制实施引用完整性的数据库,这样 MySQL 将不允许删除具有与其他表相关联的数据的行。

    新建数据库

    mysql> CREATE DATABASE 数据库名;
    

    通常SQL语句不区分大小写,但建议将关键字大写,变量和数据小写。

    算数运算符

    • 减 -
    • 乘 *
    • 除 /
    SELECT product_name, sale_price, sale_price * 2 AS "sale_price_x2"  FROM Product;
    

    显示服务器警告或错误信息

    mysql> SHOW ERRORS;
    

    mysql> SHOW WARNINGS;
    

    三、MySQL表操作

    检索数据(SELECT)

    从一个或多个表中检索信息,为了使用 SELECT 检索数据,必须至少给出两条数据 -- 项选择什么,以及从什么地方选择。

    1. 检索单个列: SELECT prod_name FROM products

    2. 检索多个列: SELECT prod_id,prof_name FROM product

    3. 检索所有列: SELECT * FROM product

    4. 检索不同的行: SELECT DISTINCT vend_id FROM products, DISTINCT 关键字必须直接方法在列名的前面

    5. 限制结果: LIMIT :

      • SELECT prod_name FROM products LIMIT 5
      • SELECT prod_name FROM products LIMIT 5,5
    6. 使用完全限定的表名: SELECT products.prod_name FROM crashcourse.products;

    新建数据表

    mysql> CREATE TABLE 数据表名
        -> (
        -> 列名1 数据类型(数据长度) PRIMARY KEY,        --主键
        -> 列名2 数据类型(数据长度) NOT NULL,        --非空约束
        -> 列名3 数据类型(数据长度) DEFAULT '默认值',        --默认值约束
        -> UNIQUE(列名a),        --唯一约束
        -> CONSTRAINT 主键名 PRIMARY KEY (列名a,列名b,...),        --复合主键
        -> CONSTRAINT 外键名 FOREIGN KEY (列名) REFERENCES 表名(主键名)        --外键
        -> );
    

    注意最后一个列名后面不加逗号”,”。

    比较运算符

    • 等于 =
    • 不等于 <>
    • 大于 >
    • 大于等于 >=
    • 小于 <
    • 小于等于 <=
    SELECT product_name, product_type, regist_date  FROM Product WHERE regist_date < '2009-09-27'; -- 将算数运算符和比较运算符结合使用SELECT product_name, sale_price, purchase_price  FROM Product WHERE sale_price - purchase_price >= 500; -- 不能对NULL使用比较运算符,正确的方法是SELECT product_name, purchase_price  FROM Product WHERE purchase_price IS NULL;SELECT product_name, purchase_price  FROM Product WHERE purchase_price IS NOT NULL;
    

    退出数据库

    mysql> EXIT/QUIT;
    

      1.插入数据 INSERT INTO

    -- 插入一条新的数据
    /* INSERT INTO customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact, cust_email) VALUES('10006', 'Toy Land', '123 Any Street', 'New York', 'NY', '11111', 'USA', NULL, NULL); */
    -- 按表列字段的顺序插入数据时,列字段可省略
    INSERT INTO customers VALUES('10006', 'Toy Land', '123 Any Street', 'New York', 'NY', '11111', 'USA', NULL, NULL);
    -- 将一张表插入到原来的表
    /* INSERT INTO customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact, cust_email)  SELECT cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact, cust_email FROM cust_new WHERE cust_id NOT IN (SELECT cust_id FROM customers); */
    -- 复制表
    CREATE TABLE custcopy AS SELECT * FROM customers;
    

      注意:

      - 任何SELECT选项和子句都可以使用,包括WHERE和GROUP BY。

      - 可以联结多个表执行插入数据操作。

      - 不管从多少个表中检索数据,数据都只能插入到单个表中。

    排序检索数据

    将会讲授如何使用 SELECT 语句的 ORDER_BY 子句,根据需要排序检索出的数据.

    子句(clause): SQL 语句由子句构成,有些子句是必需的,而有的是可选的,一个子句通常由一个关键字和所提供的数据组组成,子句的例子有 SELECT 语句的 FROM 子句。
    
    1. 单列排序: SELECT prod_name FROM products ORDER BY prod_id
    2. 多列排序: SELECT prod_name FROM products ORDER BY prod_price,prod_name, 排序完全按照所规定的顺序进行,也就是说仅在多行具有相同的 price 的时候才会根据 name 进行排序
    3. 指定排序方向: 数据排序不限于升序顺序(A-Z),还可以使用 ORDER BY 子句以降序(Z-A)顺序排序,为了进行降序排序,必须指定 DESC 关键字. SELECT prod_id, prod_price,prod_name FROM products ORDER BY prod_price DESC. DESC 关键字只能应用到直接位于其前面的列名。如果想要对多个列上进行降序排列,必须对每个列指定DESC关键字。

    数据类型

    数据类型 大小(字节) 用途 格式
    INT 4 整数 -
    FLOAT 4 单精度浮点数 -
    DOUBLE 4 双精度浮点数 -
    ENUM - 单选 ENUM(‘a’,’b’,’c’)
    SET - 多选 SET(‘1’,’2’,’3’)
    DATE 3 日期 YYYY-MM-DD
    TIME 3 时间点或持续时间 HH:MM:SS
    YEAR 1 年份值 YYYY
    CHAR 0~255 定长字符串 -
    VARCHAR 0~255 变长字符串 -
    TEXT 0~65535 长文本数据 -

    逻辑运算符

    • NOT

      (也就是sale_price<1000)

    SELECT product_name, product_type, sale_priceFROM ProductWHERE NOT sale_price >= 1000; 
    
    • AND

      AND运算符在其两侧的查询条件都成立时整个查询条件才成立,其意思相当于“并且”。

    SELECT product_name, purchase_price  FROM Product WHERE product_type = '厨房用具'   AND sale_price >= 3000;
    
    • OR

      运算符在其两侧的查询条件有一个成立时整个查询条件都成立,其意思相当于“或者”。

    SELECT product_name, purchase_price  FROM Product WHERE product_type = '厨房用具'    OR sale_price >= 3000;
    

    新建数据库

    mysql> CREATE DATABASE 数据库名;
    

    通常SQL语句不区分大小写,但建议将关键字大写,变量和数据小写。

    本文由1010cc时时彩经典版发布于1010cc安卓版,转载请注明出处:MySQL常用操作,必知必会学习入门

    关键词: