• MySQL-SQL语句


    一、数据类型

    1. 1.日期和时间类型
    类型 大小 范围 格式 用途
    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/2037年 YYYYMMDDHHMMSS 混合日期和时间值时间戳
    1. 2.字符串类型
    类型 大小 用途
    char 0-255字节 定长字符串
    varchar 0-65535字节 变长字符串
    tinyblob 0-255字节 不超过255个字符的二进制字符串
    tinytext 0-255字节 短文本字符串
    blob 0-65535字节 二进制形式的长文本数据
    text 0-65535字节 长文本数据
    mediumblob 0-16 777 215字节 二进制形式的中等长度文本数据
    mediumtext 0-16 777 215字节 中等长度文本数据
    longblob 0-4 294 967 295字节 二进制形式的极大文本数据
    longtext 0-4 294 967 296字节 极大文本数据



    1. 3.整型
    类型 占用字节 无符号范围 有符号范围 数据库长度
    tinyint 1 0-255 -128-127 4
    smalint 2 0-65535 -32768-32767 6
    mediumint 3 0-16 777 215 -8388608-8388607 9
    int 4 0-4294967295 -2147483648-2147483647 11
    bigint 8 0-18446744073709551615 -9223372036854755808-9223372036854775807 20






    1. 4.浮点型
    类型 大小 有符号范围 无符号范围 用途
    float 4字节 单精度浮点数值
    double 8字节 双精度浮点数值
    decimal 依赖于M和D的值 依赖于M和D的值 小数值





    1. 5.字符型
    类型 字节数和范围
    CHAR(M) M字节,1<=m<=255
    VARCHAR(M) L+1字节,在此 L<=M和1<=M<=255
    TINYBLOB,TINYTEXT L+1字节,在此L<2^8
    BLOB,TEXT L+2字节,在此L<2^16
    MEDIUMBLOB,MEDIUMTEXT L+3字节,在此L<2^24
    LONGBLOB,LONGTEXT L+4字节,在此L<2^32
    ENUM(‘value1‘,'value2',....) 1或2个字节,取决于枚举值的数目(最大值65535)
    SET('value1','value2',....)

    1,2,3,4或8个字节,取决于集合成员的数量(最多64个成员)







    二、常用SQL语句

    1、select命令

    使用select命令查看mysql数据库系统信息:
    -- 打印当前的日期和时间
    select now();
    -- 打印当前的日期
    select curdate();
    -- 打印当前的时间
    select curtime();
    
    -- 打印当前数据库
    select database();
    
    -- 打印MySQL版本
    select version();
    
    -- 打印当前用户
    select user();
    
    --查看系统信息
    show variables;     #显示变量
    show global variables;  #显示全局变量
    show global variables like '%version%';
    show variables like '%storage_engine%'; 		#默认的存储引擎
    like和”_”模糊搜索还可用户where字句。
    MySQL提供两个通配符,用于与LIKE运算符一起使用,它们分别是:百分比符号 %和下划线 _。
    百分比(%)表示通配符允许匹配任何字符串的零个或多个字符。
    下划线(_)表示通配符允许匹配任何单个字符。
    

    2、建表用表插入数据查询数据

    mysql> 
    mysql> create database zmedu;
    Query OK, 1 row affected (0.00 sec)
    
    mysql> use zmedu
    Database changed
    mysql> create table students(id int(11),stname char(20));
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> insert into students values(1,'liuyong'),(1,'zhangru'),(3,'laowang'),(4,'tongtong');
    Query OK, 4 rows affected (0.00 sec)
    Records: 4  Duplicates: 0  Warnings: 0
    

    3、查看系统运行状态

    查看系统运行状态信息:
    mysql> show status; 		#查看运行状态
    mysql> show global status like 'Thread%'; 		#显示全局状态
    

    4、逻辑运算

    and or not
    and 且
    or 或
    not 非

    5、查询导入的数据

    mysql> select bName,publishing,price from books where price=30 or 
    price=40 or price=50 or price=60;
    mysql> select bName,price from books where price in (50,60,70);

    6、算数运算符

    =	等于
    <>	不等于 !=
    >     大于
    <	小于
    =	大于等于
    <=	小于等于
    

    7、排序

    升序:order by “排序的字段” asc 默认
    降序:oredr by “排序的字段” desc
    
    mysql> select bName,price from books where price in (50,60,70) order by price asc;
    

    8、范围运算

    [not]between …and…
    Between and 可以使用大于小于的方式来代替,并且使用大于小于意义表述更明确
    实例:
    查找价格不在30到60之间的书名和价格

    mysql> select bName,price from books where price not between 30 and 60 order by price desc;
    

    9、模糊匹配

    实例:
    mysql> select bName from books where bName like '%程序%';
    

    10、MySQL子查询

    概念:在select 的where条件中又出现了select,查询中嵌套着查询

    mysql> select bName,bTypeId from books where bTypeId=(select bTypeId from category where bTypeName='网络技术');
    

    11、limit限定显示条目

    Format:SELECT * FROM table LIMIT [offset,] rows

    偏移量 行数
      LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)。

    比如select * from table limit m,n语句
    表示其中m是指记录开始的index,从0开始,表示第一条记录
    n是指从第m+1条开始,取n条。

    查出category表中第2条到第6行的记录。
    首先2到6行有2,3,4,5,6总共有5个数字,从2开始,偏移量为1

    mysql> select * from category limit 1,5;
  • 相关阅读:
    mysql安装前的系统准备工作(转)
    mysql多实例的配置(转)
    饼干怪兽和APT攻击
    Linux
    android application简要类(一)
    轨道sql谈话 dbms_monitor
    Android有关Volley使用(十)至Request和Reponse意识
    data URI scheme及其应用
    java在string和int相互转化
    ComponentName意思
  • 原文地址:https://www.cnblogs.com/security-guard/p/12010191.html
Copyright © 2020-2023  润新知