zoukankan      html  css  js  c++  java
  • MySQL 整理笔记 张大哥

    MySQL是一个数据管理系统

      数据库:   是表的集合,是一个大的分类

      表  :   是一个小的分类

      一些常用的mysql建立数据库的命令: 

        登录命令:  mysql:   mysql -u root -p 

        注:db_name 代表数据库的名字。

        1.显示服务器上所有已有的数据库:

             show databases ;

        2.在服务器中创建自己的数据库:

            create database;

            create database  character set utf8;创建的数据库支持中文

        3.如何切换到指定的数据库:

            use db_name;

        4.如何删除已有数据库:

            drop database db_name;

      如何在数据库中建立数据表?

        数据表是一个二维表格(行,列),一行代表一条数据,每一个列代表的是当前一条数据的字段。

        建表的基本语法:  create table tb_name(字段1 类型,字段2 类型);

        注:tb_name 代表数据表的名字。

        主键: 唯一的识别一条记录的字段,是不重复的

        自增: 某个字段不需要手动填写数据,而是通过系统分配的整数(每一条数据分配的值都是      前一条数据的增量)

        非空: 字段设置为非空属性时,填写数据时要求该字段为必填项

        默认值:向表中填写数据时,字段不写入数据时,会默认填充值 

        unique key    唯一的

        primary key    主键

        not null      不为空

        auto_increment     自增

        default 2       默认值为2

        comment ''    字段说明

      查看表内信息select * from 表名  

      插入数据命令

        方法1:   insert tb_name values()    --适用于全记录插入

             注:按表中字段顺序插入数据

        方法2:  insert tb_name (字段1,字段2,……) values(‘字段1的值’,‘字段2的值’,……);

              注:对指定的字段进行数据的插入操作,如果是字符类型的数据要用’’号包含要插入的数据

      修改字段命令:upadate tb_name set 字段1=值,字段2=值 where 条件

        1.把表中的要修改的字段,所有的指定字段都给修改了

        2.指定要修改的是哪行的字段,只修改指定行的字段

     

      delete语法: 删除表中的指定记录

        delete from tb_name where 条件

      查看全表信息:

        select * from tb_name

      投影:

        select 字段1,字段2,…… from tb_name

      在查询时,将字段别名: 

        select 字段名1 '名字1',字段名2'名字2',......;

      带筛选条件查询:    

        select 字段名1,字段名2,...... from tb_name where 字段='条件';

      模糊查询:

        %是通配符,可以代表多个字符  _只代表一个未知字符

        select 字段名1,字段名2,...... from tb_name where 字段 like '条件%';

        select 字段名1,字段名2,...... from tb_name where 字段 like '%条件%';

        select 字段名1,字段名2,...... from tb_name where 字段='条件_';

       两个条件都需满足时

        select 字段名1,字段名2,...... from tb_name where 字段 like '条件%' and 字段 = '条件';

       两个条件只需满足任意一个即

        select 字段名1,字段名2,...... from tb_name where 字段 like '条件%' or 字段 = '条件';  

       not like 满足的条件是 “不是…”:

         select 字段名1,字段名2,...... from tb_name where 字段 not like '条件%';

      聚合函数

       1.count 函数  

         统计查询记录的个数(只显示统计的结果,不显示具体的信息)。

         select count(*) from tb_name ;

       2.sum 函数   求和

         select sum(字段名) from tb_name ;

       3.avg 函数   求平均值

         select avg(字段名) from tb_name ;

       4.max 函数   最大值

         select max(字段名) from tb_name ;

       5.min 函数   最小值

         select min(字段名) from tb_name ;

      升序排序  (asc 可以省略)

         select * from tb_name order by 字段名 asc;

      降序排序

         select * from tb_name order by 字段名 desc ;  

        第一排序,第二排序

         当第一排序出现有部分行字段相同的情况时,第二排序开始执行

         select * from tb_name order by 字段名1,字段名2 desc ;

      group by 分组

        先把指定的字段里面相同的数据划分成一组,然后再进行显示

        注意:在分组的时候做其他字段的投影是没意义的

          select 字段名 from tb_name group by 字段名;      

        分组可以和聚合函数一起使用

          select 字段名,count(*) from tb_name group by 字段名;     

        having 分组后的筛选不分组的时候筛选用where

          select 字段名 from tb_name group by 字段名 having 条件;

        两表关联,一定有主从之分,从主表建立一个新的字段以便关联到从表,主表中新建的这个用于关联的字段称为外键

      如何建这个外键

        1.在主表中新建一个字段

        2.新建的这个字段应于从表的主键类型相同,并关联到从表的主键

      join 连接方式:

         主表 inner join 从表 on 主表.外键 = 从表.主键

        子查询

          select * from tb_name where 字段 = (select 字段名 from tb_name2 where 字段2='条件');

        子查询中in的用法(包含)

           select * from tb_name where 字段 in (select 字段名 from tb_name2 where 字段2='条件');

      limit限制的作用

        select * from tb_name limit 5;//显示前5条记录

        

  • 相关阅读:
    [BZOJ2763] [JLOI2011] 飞行路线
    [BZOJ4033] [HAOI2015] 树上染色
    [BZOJ2565] 最长双回文串
    [luogu5048] [Ynoi2019模拟赛] Yuno loves sqrt technology III
    又犯了低级错误了
    Win10系统无法使用小米手机的远程管理功能
    DevExpress破解和消除弹出框问题
    重写导致的问题
    EXCEL统计不重复值的数量
    C#中Button.DialogResult属性
  • 原文地址:https://www.cnblogs.com/ZHANGDGGE/p/6386328.html
Copyright © 2011-2022 走看看