美文网首页
mysql总结

mysql总结

作者: 那是个好男孩 | 来源:发表于2020-06-08 10:59 被阅读0次

    * / % binary greatest() least() ASCII() replace() week() yearweek() date_add() date_format()
    select version();
    select now();
    select curdate();
    select curtime();


    数据库

    创建:create database [if not exists]my_db;
    删除:drop database my_db;
    查看:show databases; show create database my_db;
    select database();
    连接:mysql -uroot -p
    退出:exit
    使用:use my_db;


    数据表

    创建:create table [if not exists] table_name (字段名 类型 约束,[字段名 类型 约束]...)|like|as;
    删除:drop table [if not exists] table_name;
    修改:alter table table_name add|modify|change|rename to|drop;
    查看:desc table_name; desc table_name 字段名;
    show create table table_name; show tables;


    表记录

    增加:insert into table_name values|set ... 共有四种方式(全列|指定列|多行批量|使用set子句)
    删除:delete from table_name [where 条件];
    修改:update table_name set 字段1=值1[,字段2=值2,...] [where条件];
    replace into table_name values (字段值,字段值,字段值...);
    查看:!!!!


    表记录查找之选择select列
    1. 选择指定列:select 字段1,字段2 from table_name;
    2. 定义列别名:select 字段1 as 别名1,字段2 as '别 名2' from table_name;
    3. 替换查询结果中的数据:
      case
      when 条件1 then 表达式1
      when 条件2 then 表达式2
      ......
      else 表达式
      end
    4. 计算列值
    5. 清除结果集中的重复行:select distinct 字段1,字段2 from table_name;
    6. 聚合函数:count() max() min() sum() avg() group_concat() ... ...

    表记录查找之from子句

    ***专门的关系运算 选择(行)|投影(列)|连接(join)|除***

    1. 引用一个表:select * from db2.tb; select * from tb;
    2. 多表连接 ("不同列组合")
      (1)全连接 (笛卡尔积+where子句=等值连接)
      select distinct course.Cno,course.Cname
      from score,course where score.Cno = course.Cno;
      (2)join连接
      ① 内连接 inner
      on连接表,where指定其它|内连接用于多个表连接|
      自连接|using子句
      ② 外连接 outer (只对两个表进行)
      左外连接(left join)|右外连接(right join)
      |自然连接(natural join) =>自然左外连接 自然右外连接
      ③ 交叉连接 cross join
      cross join 与 inner join 与 straight_join

    表记录查找之where子句

    ***where子句会根据条件对from子句的中间结果中的行,一行一行地进行判断,
    当条件为True的时候,一行就被包含到where子句的中间结果中。***

    1. 比较运算 =、<、<=、>、>=、<=>、<>、!=
    2. 模式匹配
      (1)like运算符:"%" "_" escape
      (2)regexp运算符:正则表达式的应用
    3. 范围比较 between in | in
    4. 空值比较 is null
    5. 子查询!!!
      (1)in子查询
      (2)比较子查询
      (3)exists查询
      (4)表子查询|标量子查询|行子查询

    表记录查找之其它子句
    1. GROUP BY子句
      GROUP BY子句主要用于根据字段对行分组。通常和聚合函数一起使用
    2. HAVING 子句
      使用having子句的目的与where子句类似,
      不同的是where子句是用来在from子句后面之后选择行,
      而having子句是用来在group by子句后选择行!
    3. ORDER BY子句
      排序 关键字ASC表示升序排列,DESC表示降序排列,系统默认值为ASC
    4. LIMIT子句
      LIMIT子句,主要用于限制被SELECT语句返回的行数。
    5. UNION子句
      使用UNION语句,可以把来自许多SELECT语句的结果组合到一个结果集合中。

    相关文章

      网友评论

          本文标题:mysql总结

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