zoukankan      html  css  js  c++  java
  • mysql数据库-03

    phpstudy里面已经集成了mysql了, navicat是数据库的可视化工具,打开navicat连接到mysql,连接上就可以去操控mqsql数据库了。

    mysql   --> 电视机

      | navicat连接上mysql后就可以建立关联,遥控器就可以操控电视机了

    navicat --> 遥控器

    数据库操作方式:

    数据库的相关设置:在phpstudy中 (打开数据库命令行,修改数据库密码等)

    出现数据库的命令行工具:命令行演示(了解)

    • show databases;  -> 查看数据库表列表
    • use 数据库名字;  -> 切换到指定数据库
    • show tables;   -> 查看当前使用的数据库中的所有表
    • crud(结合图形界面演示) 增删改查操作

    图形界面客户端:

     连接成功后:前面三个文件不要删,是系统文件,删掉phpstudy就得重装了。

     在空白处右键新建数据:

     之所以起名是以z开头,是因为数据库的排序是按照首字母排的,这样能把我们自己数据库置于列表的最下面,不去干扰上面的系统数据库。

    双击创建好的数据库,就会变成绿色,里面就有各种选项了。

    数据库中一行代表一条记录。一列表示一个字段

    右键新建表:

    字段的数据类型: 

    整数:int  

      存储如年龄,产品数量,编号等。 int(0-21亿)

    小数:float

      重量,工资,奖金,价格等

    金钱:decimal

      实现小数的精确存储,一般用来存储与钱有关的数字。

    字符串:

      varchar(n)  用于长度可变的字符串。 比如 狗,小狗狗,可爱的小狗.....

      char(n) 用于长度固定的字符串

      text 用于存放大量字符串,文章

    日期类型: datetime,date(年月日),time(时分秒)

    字段的约束条数:

      not null : 限制字段值不能为空

      default : 设置字段的默认值,在没有录入时自动使用默认值填充。

      primary key 主键名 ---> 唯一标识,不能重复,不能为空

                 设置字段为主键,主键字段的值不能重复,不能为空。而且一个数据表中只能设置一个字段为主键,作为每行记录的唯一身份信息(索引)。

      auto_increment  ---> 设置字段为自动增长,默认从1开始自动分配编号。自增长字段必须为一个key(索引,数据结构,便于快速查找数据,相当于书的目录),一般与primary key结合使用。

                 类型必须为整型。

      unique key ---> 不能重复

             唯一键,设置字段的值为唯一的,可以设置多个字段为唯一键。唯一键字段的值可以为空。

    创建数据表

    注意 创建表时,每个表必须有一个主键

    在索引中给指定字段设置索引类型

     

     保存表:

     添加数据:

     添加数据:每行输入对应数据后,点击对号,即可创建每一行的数据,id会自动自增显示出来。

     但是平常我们不会这么手动这样去添加数据,当数据量庞大的时候,根本不行,我们需要在sql编辑面板中用sql语句去增删改查操作

    sql新增:

    insert into 表名 (key1,key2,key3...) values (value1,value2,value3...);

    字段key的数量要与值value的数量对应

     转储数据表到指定位置:防止不小心把数据库表删了,这样有个备份,下次直接拖动存储的文件到数据库中即可。

     sql删除操作:(删除是软删除,并不是真从数据库删掉,还留有记录)

    detele from 表名 where 条件;

    注意sql中一个=号相当于js中的==

     sql修改:

    update 表 set key=value where 条件;

     

    sql查找:

    select 要查询的字段列表 from 表 where 条件;

     

     查找---模糊匹配:

    like 和 通配符% 配合使用
    SELECT * from stu WHERE name LIKE '周%';     -- 在stu表中的所有字段名中 去查找name名以周开头的结果
    SELECT * FROM stu WHERE name LIKE '%星%';   -- 在stu表中的所有字段名中 去查找name名中含有星字的结果

    and 用作并且条件,相当于js中的&&
    SELECT * FROM stu WHERE age > 18 and age < 25;     -- 在stu表中的所有字段名中 去查找age大于18并且小于25的结果

    or 用作或者条件,相当于js中||
    SELECT * FROM stu WHERE id = 12 or id = 16 or id = 18;   -- 在stu表中的所有字段名中,查找id为12,16,18的结果

    in 用于一对多的查询
    SELECT * FROM stu WHERE id in (3,6,9);   -- 用in去方便查询多个条件,查询id为3,6,9的结果

    count() 用于计算总数 ,可以用as取别名
    SELECT COUNT(*) AS 'total' FROM stu;      --计算数据表stu中行的总数

    order by 用于排序(升序),order by desc(降序)
    SELECT * FROM stu ORDER BY id;       -- 按照id升序查找结果

    limit 用于截取查找 相当于js中的substr(n,m),从索引为n,截取m个

    SELECT * FROM stu LIMIT 0,5;   -- 从索引为0,截取5个
    SELECT * FROM stu LIMIT 5,2;   -- 从索引为5,截取2个,因为上一次截取是五个,五个最后一个索引是4,所以,这次从索引5开始

    表连接查询:

      主键:表示当前表的数据唯一标识

      外键:当前表存放了别的表主键,可以用于关联别的表。

    数据表之间通过join和on去连接

    当我们想要保存sql编辑器中写的sql文件,ctrl+s起名即可,保存位置在:

    注意:在后台语言中去连接mysql数据库后,在准备的sql语句中:如果sql语句中有变量是字符串,变量两边要加单引号,因为数据库的sql语法需要。

               双引号是php语法中的双引号

               sql语句采用外双内单

    如:以php为例:

      $name='张三' 

      $sex='男'

    拼sql语句时:

      $sql = "insert into stu (name , sex) values ('$name' , '$sex')"  ;

    通过服务器操作数据库的基本步骤:

      1.通过服务器连接上数据库

      2.准备sql语句

      3.将sql语句传递给数据库执行

      4.分析执行结果

      5.关闭数据库连接

     编辑修改并保存的思路:(有文本信息和图片)

    1. 先回显:

       首先前端发送要修改的数据的id(列表页带来的id)给后台,后台拿到id,去数据库中找到这个id对应的数据,并返回给前端

    2. 前端把用户修改后的信息提交给后台,后台拿到前端传来的id(修改页面的id)去数据库中更新修改后的各个数据信息

    3. 后台要判断有前端传来的有没有图片信息,如果有在去数据库中请求更新的时候,也要更新新的图片信息,如果没有,还使用原来的。

        后台为什么单独要单独判断图片又没有更改?

      是因为如果图片不更改提交后,图片信息是个空值,我们不能拿着空值一股脑的去请求更新。而文本类型的,我们都能去获取到value中现在是什么就传给后台什么。所以,没有修改图片并不能是个空值代,否则就提交后就没图片了。  

  • 相关阅读:
    JavaScript怎么让字符串和JSON相互转化
    golang怎么使用redis,最基础的有效的方法
    SmartGit过期后破解方法
    Mac下安装ElasticSearch
    浏览器滚动条拉底部的方法
    git 管理
    MAC远程连接服务器,不需要输入密码的配置方式
    centos6.5下使用yum完美搭建LNMP环境(php5.6) 无脑安装
    【笔记】LAMP 环境无脑安装配置 Centos 6.3
    vs2008不能创建C#项目的解决方法
  • 原文地址:https://www.cnblogs.com/haoqiyouyu/p/14257000.html
Copyright © 2011-2022 走看看