zoukankan      html  css  js  c++  java
  • Mysql Dos命令操作数据库/2

    数据库的三个数据类型:数值;字符串;日期;

      数据库和php是两个概念;

      任何后台都能连接mysqi

      数据库的增删查改。。。

      创建表 create table 表名()  在创建表一定要加字段;

      字段类型: 就是数据库的三个数据类型;

      数值:              有符号                                                                                                                   无符号

        tinyint:小整数值       -128,127                               0,255      (如果数字超过255 , 系统默认为255)

        smallint:大整数值      -32 768,32 767                             0,65 535

        int:大整数值        -2 147 483 648,2 147 483 647                      0,4 294 967 295

        bigint:极大整数值;      -9,223,372,036,854,775,808,9 223 372 036 854 775 807           0,18 446 744 073 709 551 615

      数值后面跟的属性:

        unsgined:无符号  只能取到正整数  

        int(5):代表 数字的长度,最多5位;  如果后面跟   zerofill属性,表示数字的长的必须是5位,不够的话,拿0代替;

        主键:primary key()   一个表得有一个唯一标识符;往往都是id 且尽量不要用数据记录去充当组件key;  主键后跟的属性    自增:auto_increment();  写一条数据,会自动在id的下面 加值   无需自己写

        null属性: 默认是null (值可以为空)  但主键不能是null;

          not null 属性:值不能为空;  案例:alter table 表名 modify money int not null;

        default:默认属性值  在后面加数据记录的时候,字段后面有跟的值,就会有值,没有的话,就是默认值; 案例:alter table t1 modify money int default 10;

        float(m,d):单精度 (最多到小数点后7位)  但并不是精确的   案例 :3.123456789----》得到的值  3.1234568;    m代表总数,d代表小数;

        double(m,d):双精度(最多到小数点后14位)  但也不是精确的; m代表总数,d代表小数;

        decimal(m,d):存储货币使用  (精度高且准确,常用于会计) m代表总数,d代表小数;

      案例:

        1.创建表格的时候

        create table 表名(id int primary key auto_increment, age int nonull default=12);

        2.改变字段属性的时候;

        create table 表名 modify id int primary key auto_increment;

        3.如果自增的话添加数据;

        insert into 表名(age) values(20),(30),(40);    表名后面一定要加字段,因为 主键,不需要重新赋值,但别的字段要进行赋值;

      字符串的属性:

        char:定长字符串  空间是固定的,哪怕是一个字母,也还是会占255字节的空间  字母或汉字都是一个字节;

        varchar:变长字符串  根据存储量   一个字母一个字节,一个汉字三个字节;  一个字节一个空间,所以varchar 比 char 省空间

        mysqi  设置字符编码  charset=utf8/gbkd;

        utf8:一个汉字占三个字节;

        gbkd:一个汉字占两个字节;

      查询数据记录:

        select * from 表名    表中所有数据都展现出来;

        select id from 表名  通过id的字段查找;

        select destinct id from 表名   查询不重复的   destinct

      条件表达式:>    >=         <      <=   !=   =   and   or

      聚合查询  (汇总查询)

      sum()  对某一字段的数据进行求和;

      案例:   select sum(money) from 表名;

      count()  行的个数(总数)记录总数;

      案例:  select count(*) from 表名;    建议count()  括号里面带*;

      max()  最大值;

      min()  最小值;

      group by  表示分类聚合;

      案例:select sum(求和的字段) from 表名 group by 分类的字段;

      with rollup  对分类的结果汇总 

      案例:select sum(求和的字段) from 表名 group by 分类的字段 with rollup;  

      having  对分类的结果进行过滤       先看分类后的结果,结果有什么字段,再通过字段进行过滤;

      案例:select sum(求和的字段) from 表名 group by 分类的字段 having sum(求和的字段)>条件;

      表连接:

        内连接:

        两张表:进行连接 ,只通过关联字段

        首先两张表一个主表拥有id的字段,另一张副表,拥有eid的字段 

        内连接 id与eid匹配;

        语法:select * from 主表,副表 where 主表.id=副表.eid;

        外连接:  分为左连接 和 右连接;

          左连接:select * from 主表 left join 副表 on 主表.id=副表.eid;

          右连接:select * from 主表 right join 副表 on 主表.id=副表.eid;

      场景想象

      主表在前《    副表在后 》

      左连接:主表为主;

      右连接:副表为主;

      子查询:

        in 把一表查询结果当条件,在另一个表进行查询,(子查询必须按唯一一个字段查询);

        案例:

          select * from 主表 where id in(select eid from 副表);

          解析:获取副表中eid字段的内容,将副表中的内容当条件 ,在去查询主表中相对应的内容;(eid 必须按唯一一个字段查询)

        not in 刚好与in相反;

        案例:

          select * from 主表 where id not in(select eid from 副表);

          解析:获取副表中的eid字段的内容,将副表中的内容当条件,查询除了副表中的其他内容;(eid 必须按唯一一个字段查询)

      phpstudy 的数据库操作界面;

        mysqi 管理器 ---》 php myadmin    网页地址中 locallhost  后面输入接口 8088   

      编辑:utf8_general_c   创建

      存储引擎:innodn

      用户名和密码都默认 root;

  • 相关阅读:
    Flutter第一个应用--踩坑之路
    今天注册博客园了!
    广深小龙-基于unittest、pytest自动化测试框架之demo来学习啦!!!
    python接口自动化10-excel设计模式实战
    python接口自动化9-ddt数据驱动
    Docker学习4-学会如何让容器开机自启服务【坑】
    pytest-4-分布式运行与自定义顺序执行用例
    Docker学习10-docker-slenium进行web自动化测试
    linux+jenkins生成测试报告及任意IP打开链接能看到allure报告
    MySQL-Python实现-测试/生产环境各个表与字段进行对比的小工具
  • 原文地址:https://www.cnblogs.com/liancai001/p/10692142.html
Copyright © 2011-2022 走看看