zoukankan      html  css  js  c++  java
  • MySQL

     MySQL数据管理系统

     

    数据库中的不同表负责不同业务的管理

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

    表: 是一个小的分类

     

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

    db_name : 代表的数据库的名字

    一些常用的mysql命令

    登录mysql: mysql -u root -p

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

    show databases

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

    create database;

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

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

    use db_name;

    4.如何删除已有数据库

    drop database db_name;

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

    数据表是一个二维表格(行,列)

    一行代表一条数据

    每一个列代表的是当前一条数据的字段

    tinyint 只接受0和1

    double[(几位数,几位小数)]

    numeric(长度,几位小数)

    date 日期

    time 时分秒

    datetime 年月日时分秒

    vacha(长度)字符

    char (长度) 定长字符 固定长度

    建表:

    create database 库名 character set utf8(建立数据库)

    use 库名 (切换到数据库)

    create table 表明 (建立表)

    drop table 表明   物理删除

    show databases   显示数据列表

    use db_name    切换数据库

    show tables     显示当前数据中的表信息

    drop database db_name   物理删除数据库

    drop table tb_name    物理删除数据库中的表

    建表基本语句:

    create table tb_name (字段1 类型,字段2 类型)

    primary key  主键:唯一识别一条记录的字段

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

    not null    非空:字段设置为非空时,填写数据时,要求该字段为必填项(如果不设置非空,会自动默认为null)

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

    unique 唯一

    primary key 主键

    comment'' 备注/字段说明

    auto_increment 自增

    插入数据:

    insert tb_name values()  适用于全记录插入(尾部追加)

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

     

    insert tb_name(字段1,字段2,···)values('字段1的值','字段2的值',···);

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

     

    修改字段命令

    upadate tb_name set 字段1=值,字段2=值 where 条件

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

     

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

     

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

    delete from tb_name where 条件

     

     删除掉后,但系统会记住自增量(id设的自增),再添加一条数据的时候,id为3,不是2.

     

    查看全表信息

    select * from tb_name

    投影

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

    在查询时,将字段别名

     

    带筛选条件的查询

     

    模糊查询  

    %是通配符,可以代表多个字符

    _只代表一个未知字符

     

    两个条件都需满足时

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

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

     

     

    count是统计函数或者叫聚合函数,作用:统计当前记录的个数

    只显示统计的结果,不显示具体的信息

     

    sum求和

     

    avg 求平均值

     

    最大值 max

    最小值 min

     

    升序排序  asc(可以省略)

     

    降序排序 desc

     

    第一排序,第二排序

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

     

    group by 分组

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

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

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

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

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

    如何建这个外键?

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

    实例:

    1.用户向系统输入了用户名和密码,检验该用户是否是系统中存在的用户

    1. 用户登录后,系统要读取该用户的真实姓名

     

    一次查询,涉及到的数据来自多张表

    join 多表联合查询

     

    where放在关联之后

    join连接方式

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

    另一种关联方法

    分步写

    子查询

    将分步操作合在一起,

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

    (查询所有女性的用户名)

    limit 限制的作用

     

    limit 5 查询显示前5条记录

    在子查询中使用limit 外层不能使用 in、all…

    从第几条显示到第几条

    注:mysql中两个生日日期(年月日)相减时,得到的是年与年之间相减的数值

     

     

     

    练习  使用studb数据库    

     

  • 相关阅读:
    C#基础知识之GC 垃圾回收
    获取地址栏参数并转化为对象
    input type属性为number时,去掉右边的上下箭头
    vscode用服务打开html
    富文本的原理和插件使用
    原生js拖拽、jQuery拖拽、vue自定义指令拖拽
    js的call()方法
    js继承
    网页禁止复制和解除禁止复制
    ES6-解构赋值
  • 原文地址:https://www.cnblogs.com/anshuang/p/6387066.html
Copyright © 2011-2022 走看看