• MySQL学习


    命令由SQL+;组成,有一些不需要分号,不区分大小写,以表格呈现
    一行输入多语句,以一个分号间隔:SELECT VERSION(); SELECT NOW();

    查询版本、日期:SELECT VERSION(),CURRENT_DATE;
    计算:SELECT SIN(PI()/4), (4+1)*5;
    较长命令可以输入到多个行中
    mysql> SELECT
    -> USER()
    -> ,
    -> CURRENT_DATE;
    如果你决定不想执行正在输入过程中的一个命令,输入c取消它:

    查看当前存在数据库:SHOW DATABASES;
    进入:mysql> USE name
    创建:mysql> CREATE DATABASE menagerie;

    表:
    显示表:mysql> SHOW TABLES;
    创建表:必须指明列名
    mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
    -> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
    显示表列名、类型:mysql> DESCRIBE pet;

    从本地数据导入到表:
    先建立一个数据文本,如a/txt; 数据若是空null,在文本中用
    导入:mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet
    -> LINES TERMINATED BY ' ';
    load data [low_priority] [local] infile 'file_name txt' [replace | ignore]
    into table tbl_name
    若是插入:mysql> INSERT INTO pet
    -> VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);

    这里字符串和日期值均为引号扩起来的字符串


    检索:

    SELECT what_to_select
    FROM which_table
    WHERE conditions_to_satisfy;
    eg:
    SELECT * FROM pet where a and b;

    修正:
    UPDATE pet SET birth = '1989-08-31' WHERE name = 'Bowser';
    选择:
    SELECT * FROM pet WHERE name = 'Bowser'; 有where部分确定范围,还可以 用 AND / OR 来约束
    选择特殊列:
    SELECT name, birth FROM pet;

    增加关键字DISTINCT检索出每个唯一的输出记录:
    mysql> SELECT DISTINCT owner FROM pet;

    特定排序:
    mysql> SELECT name, birth FROM pet ORDER BY birth;

    某一列,可以使用BINARY强制执行区分大小写的分类功能,如:ORDER BY BINARY col_name.

    默认排序是升序,降序 :
    mysql> SELECT name, birth FROM pet ORDER BY birth DESC;

    对多个列进行排序
    SELECT name, species, birth FROM pet
    -> ORDER BY species, birth DESC;


    日期计算:
    YEAR()提取日期的年部分,RIGHT()提取日期的MM-DD (日历年)部分的最右面5个字符。YEAR(CURDATE()) RIGHT(birth,5))
    SELECT name, birth, CURDATE(),
    -> (YEAR(CURDATE())-YEAR(birth))
    -> - (RIGHT(CURDATE(),5)<RIGHT(birth,5))
    -> AS age 作为年龄
    -> FROM pet ORDER BY name;
    MONTH( )
    DAYOFMONTH( )。
    取模函数(MOD)

    判断null:IS NULL IS NOT NULL ---0/1

    正则:
    “_”匹配任何单个字符
    “%”匹配任意数目字符(包括零字符)。
    不能使用=或!=;
    SELECT * FROM pet WHERE name LIKE 'b%'; %gg% b开头

    匹配测试时,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,

    ‘.’匹配任何单个的字符。

    · 字符类“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。为了命名字符的范围,使用一个“-”。“[a-z]”匹配任何字母,而“[0-9]”匹配任何数字。

    · “ * ”匹配零个或多个在它前面的字符。例如,“x*”匹配任何数量的“x”字符,“[0-9]*”匹配任何数量的数字,而“.*”匹配任何数量的任何字符。

    如果REGEXP模式与被测试值的任何地方匹配,模式就匹配(这不同于LIKE模式匹配,只有与整个值匹配,模式才匹配)。
    为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用“^”或在模式的结尾用“$”。
    eg:SELECT * FROM pet WHERE name REGEXP '^b'; b开头


    行:
    COUNT(*)函数计算行数:SELECT COUNT(*) FROM pet;
    GROUP:分组
    SELECT owner, COUNT(*) FROM pet GROUP BY owner;

     未完待续。。。

  • 相关阅读:
    数据库-数据约束
    数据库-表2
    数据库-表
    MySQL入门
    记一次stm8l程序跑飞
    nRF24L01P的ShockBurst与Enhance ShockBurst
    电路板工艺中的NPTH和PTH
    nRF24L01P数据传输速率
    STM32F030-UART1_DMA使用提示
    Altium Designer 复制报错-奇怪的问题解决办法
  • 原文地址:https://www.cnblogs.com/XT-xutao/p/9928296.html
Copyright © 2020-2023  润新知