数据库

  1. 概念:数据库(Database)是按照数据结构来组织、存储和管理数据的仓库

  2. 热门数据库 Oracle、SQLServer、MySQL、MongoDB、SQLite、access、DB2

  3. 结构化的数据:我们把一段复杂的信息,进行了结构化处理,瞬间显得清爽多了。计算机处理 起来也相当方便。 因此,这样的数据,我们就称之为结构化数据

  4. 关系型数据库:我们把用户账号的信息,和消费记录信息分离开来,通过用户编号进行了关联 既 把不同的数据进行了分离,使得查询数据更加方便。同时又保证了它们关系的正确性。

    这就是传统的关系型数据库。 其中 <用户编号> 我们称之为外键

  5. 表(table)
    (1)一个数据库通常包含一个或多个表,一个数据表有一个唯一名称,并有行和列组成。
    (2)表是数据库中一个重要的组成部分, 数据库只是一个框架,数据表才是其实质内容。

MySQL数据库

  1. 特点:
    (1) MySql是目前最流行的关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于 Oracle公司

    (2) MySQL是开源的,免费。

    (3) MySQL支持标准的SQL数据语句

    (4) MySQL可以允许于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、NodeJS、Ruby和Tcl等。

    (5) MySQL对PHP有很好的支持,PHP是目前最流行的Web开发语言。

    (6) MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB, 64位系统支持最大的表文件为8TB

  2. 命令窗口数据库操作
    (1) 连接数据库

格式:mysql -h主机地址 -u用户名 -p用户密码

   (2) 显示所有数据库

格式:show databases;

   (3) 创建数据库

格式:create database <数据库名>;

   (4) 使用数据库

格式:use <数据库名>;

   (5) 显示当前数据库所有表

格式:show tables;

   (6) 创建数据表
     a) 格式:create table <表名> (<字段名1> <类型1> [,…<字段名n> <类型n>]);

create table MyGuests (id int(6) unsigned auto_increment primary key, firstname varchar(30) not null,lastname varchar(30) not null,email varchar(50),reg_date timestamp
)

     b) 以上创建一个名为 “MyGuests”的表,包含5个列:“id”,“firstname”,“lastname”, “email”和“reg_date”,参数如下:
       int       (整形)
       float      (浮点型)
       char      (固定长度字符串)
       varchar     (可变长度字符串)
       blob      (二进制)
       text       (字符串)
       timestamp    (时间戳)

     c) 列的其他属性
       not null       (每一行都含有值,不能为空,null值是不允许的)
       default value    (设置默认值)
       unsigned       (使用无符号数值类型,0及正数)
       auto_increment   (设置 MySQL 字段的值在新增记录时每次自动增长 1)
       primary key     (设置数据表中每条记录的唯一标识。 通常列的 PRIMARY KEY 设置 为ID数值,与auto_increment一起使用)

   (7) 删除表

  • 格式:drop table <表名>;
    drop table MyGuests;
    drop table if exists MyGuests

   (8) 查询表结构:

desc MyGuests

   (9) 修改表名

rename table MyClass to YouClass;

   (10) 增加字段

alter table MyGuests add sku_id bigint(20) unsigned DEFAULT NULL COMMENT ‘商品 销售码’;

   (11) 复制表结构

create table table1 like table;

3.Navicat操作数据库

  • 数据库创建
  • 表创建
  • 增删查改(crud)
  • 数据导入
      json
      excel

   (1) 数据操作
    ① 插入数据

//格式:
insert into <表名> (<字段名1>[,..<字段名n > ]) values (值1 [,(值n)]);
//例如:
insert into results (username,gender,team) values ("谢文东","男",5)
//备注:字段与要一一对应

    ② 删除表数据

//格式:
delete from 表名 where 表达式
//例如:
delete from results where id=5   //删除results表中id为5的数据
delete from results              //删除results表中所有数据

    ③ 查询表中的数据

//格式:
select <字段1, 字段2, …> from < 表名 > where < 表达式 >
//例如:
select * from results       //查看表results中的所有数据
select * from results order by id limit 0,4;//查看表results前4行数据
//备注:select一般配合where使用,以查询更精确更复杂的数据

    ④ 修改表中的数据。

//格式:
update 表名 set 字段=新值,… where 条件;
//例如:
update results set username='黄晓明' where id=2;

   (2) 条件控制语句
     ① where语句
        select * from results where id=1;

     ② 相关条件控制符

        =                  例:select * from results  where  username = '范冰冰'
           >                例:select * from results  where  team > 4
           <                例:select * from results  where  team < 4
          <>(不等于)            例:select * from results  where  team <> 5
          in(1,2,3...)         例:select * from results where id(字段) in(1,2)
       between a and b     例:select * from results where team between 3 and 8
          and                  例:select * from results  where team=5 and username='谢文东'
          or               例:select * from results  where team=5 or username='岳云鹏'
          not                  例:select * from results  where not username='范冰冰'
          like  %匹配任意字符; _匹配一个字符(可以是汉字)例:select * from results where username like '张%'
          limit id,qty:数量控制例:select * from results  limit 1,4
       is null (空值检测)例:select * from results where team is null
       order by * asc  升序(默认)* desc 降序例:select * from results order by team asc

PHP操作数据库

(1) 连接数据库

        $servername = "localhost";$username = "root";$password = "password";$dbname = 'user';$conn = new mysqli($servername, $username, $password, $dbname); // 创建连接// 检测连接if ($conn->connect_error) {die("连接失败: " . $conn->connect_error);} $conn->set_charset('utf8');   //查询前设置编码,防止输出乱码echo "连接成功";

(2) 书写语句,执行语句
   ① 执行语句的代码:$res = $conn->query()

   ② 若执行的是增删改语句,$res的值为布尔值(insert, update, delete)

   ③ 若执行的是查询语句,得到查询结果集(对象)(select)

//例:
$res = $conn->query('select * from results')    //查看表account中的所有数据
num_rows                    //结果集中的数量,用于判断是否查询到结果
fetch_all(MYSQLI_ASSOC)     //得到所有结果
fetch_assoc()               //得到第一个结果
fetch_row()                 //得到第一个结果,只能拿到值

   ④ 若是查询语句,记得释放查询结果集,避免资源浪费

     $res->close();

   ⑤ 关闭数据库

     $conn->close();

(3) 导入数据
   ①先在数据库建立好表,表的数据类型及编码都先定义好。再从其他文件导入进来

(4) 转储及运行数据库
   ①先创建同名的数据库,右键运行数据库,重新进入界面才会看到

MySQL PHP操作数据库相关推荐

  1. mysql数据操作-数据库的定义-DLL

    >查询数据库中有哪些内容 了解这几个东西是个啥 >登陆与退出 从命令提示符进入到mysql >SQL规范 DDL,定义阶段 DML,操作 DCL,控制 mysql操作之DDL - q ...

  2. DBeaver mySQL 远程操作数据库

    最近的项目需要用到mySQL,IDE准备用DBeaver,其优点不进行赘述.现在需要实现远程操作. 创建用户 首先需要进行用户的创建,原生的用户默认都是本地用户,可以通过更改的方式,也可以新建,这里我 ...

  3. c/c++连接mysql数据库设置及乱码问题(vs2013连接mysql数据库,使用Mysql API操作数据库)...

    我的安装环境: (1)vs2013(32位版) (vs2013只有32位的 没有64位的,但是它可以编译出64位的程序)  : (2)mysql-5.7.15(64位) vs2013中的设置(按步骤来 ...

  4. dbutils mysql,DbUtils操作数据库

    1.什么是O-R Mapping(对象-关系映射) 常用O-R Mapping映射工具 Hibernate(全自动框架) Ibatis(半自动框架/SQL) Commons DbUti ls(只是对J ...

  5. 批处理 操作mysql_超简单使用批处理(batch)操作数据库

    超简单使用批处理(batch)操作数据库 批处理(batch)是什么 批处理的执行就好比快递员的工作: 未使用批处理的时候,快递员一次从分发点将一件快递发给客户: 使用批处理,则是快递员将所有要派送的 ...

  6. MySQL 数据操作 DML细节

    MySQL 数据操作 DML DML(Data Manipulation Language 数据操纵语言) DML是用来对数据库里的数据进行操作的语言.DML需要 commit. 当使用 mysql ...

  7. python怎么调用navicat_Navicat使用与python操作数据库

    一.Navicat使用 1.测试+链接数据库,新建库 2.新建表,新增字段+类型+约束 3.设计表:外键 4.新建查询 5.建立表模型 二.python操作数据库 pymysql使用步骤: 1.与数据 ...

  8. serverlet 连接mysql_node node链接mysql mysql执行操作的封装类

    一.node操作mysql数据库 1) 安装mysql 模块 ​npm i mysql ​node操作数据库需要四个步骤: // 1 配置连接参数,创建连接 let connection = mysq ...

  9. MySQL操作数据库--与MySQL零距离接触1-7

    第一章 1-7操作数据库 数据库是一个集合:表 索引等. MySQL语句规范: 关键字与函数名称全部大写 数据库名称.表名称.字段名称全部小写 SQL语句必须以分号结尾 语法结构:       {}: ...

最新文章

  1. python 图像分割_Python怎么实现图片分割?
  2. 特定构造方法 如何让子类重写某些方法时提醒调用super
  3. 进军“手机照相馆”:京东要和3C厂商干什么?
  4. 企业做SEO优化哪些行为会被判定为作弊?
  5. 取得COM对象的UUID并以string输出
  6. 科大星云诗社动态20220115
  7. 那些 别人家的孩子 ,后来都怎么样了 ?
  8. sonar java_修复Sonar中常见的Java安全代码冲突
  9. 在Spring中使用Asciidoctor:使用Spring MVC渲染Asciidoc文档
  10. Vue之前端页面使用json编辑框
  11. Django删除多对多表关系 :
  12. 内核抢占,让世界变得更美好 | Linux 内核
  13. 从 JavaScript 属性描述器剖析 Vue.js 响应式视图
  14. c语言中缀表达式求值_[源码和文档分享]基于C++的表达式计算求值
  15. ES(Elasticsearch)基本查询总结(含docker安装,python操作)
  16. 放弃微博,继续回来写月经
  17. 在linux上,dmg转换成iso或img文件
  18. 魅蓝note6救砖_魅蓝NOTE6救砖工具及线刷包
  19. Matlab查找图像块在原图中的位置
  20. 网页框架布局设计_实用的网页设计-框架和框架用法介绍

热门文章

  1. Scala - Idea 项目报错 Cannot resolve symbol XXX
  2. java怎么实现网络对战平台_手把手教你用Java实现一个简易联网坦克对战小游戏...
  3. 程序员考公指南(逃离996的最强后路!!!)
  4. Spring Data JPA-JPA对象的四种状态
  5. stata 求输出相关系数矩阵命令_Stata外部命令:那些最常用的和最新的命令
  6. 什么是X.509证书?X.509证书工作原理及应用?
  7. 公有云上虚拟机故障恢复
  8. Strange Printer
  9. 组态王bitset用法_组态王使用常遇到问题
  10. 基于Nodejs服务器下,python搭配ffmpeg实现推流直播