MySQL PHP操作数据库
数据库
概念:数据库(Database)是按照数据结构来组织、存储和管理数据的仓库
热门数据库 Oracle、SQLServer、MySQL、MongoDB、SQLite、access、DB2
结构化的数据:我们把一段复杂的信息,进行了结构化处理,瞬间显得清爽多了。计算机处理 起来也相当方便。 因此,这样的数据,我们就称之为结构化数据
关系型数据库:我们把用户账号的信息,和消费记录信息分离开来,通过用户编号进行了关联 既 把不同的数据进行了分离,使得查询数据更加方便。同时又保证了它们关系的正确性。
这就是传统的关系型数据库。 其中 <用户编号> 我们称之为外键表(table)
(1)一个数据库通常包含一个或多个表,一个数据表有一个唯一名称,并有行和列组成。
(2)表是数据库中一个重要的组成部分, 数据库只是一个框架,数据表才是其实质内容。
MySQL数据库
特点:
(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
命令窗口数据库操作
(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操作数据库相关推荐
- mysql数据操作-数据库的定义-DLL
>查询数据库中有哪些内容 了解这几个东西是个啥 >登陆与退出 从命令提示符进入到mysql >SQL规范 DDL,定义阶段 DML,操作 DCL,控制 mysql操作之DDL - q ...
- DBeaver mySQL 远程操作数据库
最近的项目需要用到mySQL,IDE准备用DBeaver,其优点不进行赘述.现在需要实现远程操作. 创建用户 首先需要进行用户的创建,原生的用户默认都是本地用户,可以通过更改的方式,也可以新建,这里我 ...
- c/c++连接mysql数据库设置及乱码问题(vs2013连接mysql数据库,使用Mysql API操作数据库)...
我的安装环境: (1)vs2013(32位版) (vs2013只有32位的 没有64位的,但是它可以编译出64位的程序) : (2)mysql-5.7.15(64位) vs2013中的设置(按步骤来 ...
- dbutils mysql,DbUtils操作数据库
1.什么是O-R Mapping(对象-关系映射) 常用O-R Mapping映射工具 Hibernate(全自动框架) Ibatis(半自动框架/SQL) Commons DbUti ls(只是对J ...
- 批处理 操作mysql_超简单使用批处理(batch)操作数据库
超简单使用批处理(batch)操作数据库 批处理(batch)是什么 批处理的执行就好比快递员的工作: 未使用批处理的时候,快递员一次从分发点将一件快递发给客户: 使用批处理,则是快递员将所有要派送的 ...
- MySQL 数据操作 DML细节
MySQL 数据操作 DML DML(Data Manipulation Language 数据操纵语言) DML是用来对数据库里的数据进行操作的语言.DML需要 commit. 当使用 mysql ...
- python怎么调用navicat_Navicat使用与python操作数据库
一.Navicat使用 1.测试+链接数据库,新建库 2.新建表,新增字段+类型+约束 3.设计表:外键 4.新建查询 5.建立表模型 二.python操作数据库 pymysql使用步骤: 1.与数据 ...
- serverlet 连接mysql_node node链接mysql mysql执行操作的封装类
一.node操作mysql数据库 1) 安装mysql 模块 npm i mysql node操作数据库需要四个步骤: // 1 配置连接参数,创建连接 let connection = mysq ...
- MySQL操作数据库--与MySQL零距离接触1-7
第一章 1-7操作数据库 数据库是一个集合:表 索引等. MySQL语句规范: 关键字与函数名称全部大写 数据库名称.表名称.字段名称全部小写 SQL语句必须以分号结尾 语法结构: {}: ...
最新文章
- python 图像分割_Python怎么实现图片分割?
- 特定构造方法 如何让子类重写某些方法时提醒调用super
- 进军“手机照相馆”:京东要和3C厂商干什么?
- 企业做SEO优化哪些行为会被判定为作弊?
- 取得COM对象的UUID并以string输出
- 科大星云诗社动态20220115
- 那些 别人家的孩子 ,后来都怎么样了 ?
- sonar java_修复Sonar中常见的Java安全代码冲突
- 在Spring中使用Asciidoctor:使用Spring MVC渲染Asciidoc文档
- Vue之前端页面使用json编辑框
- Django删除多对多表关系 :
- 内核抢占,让世界变得更美好 | Linux 内核
- 从 JavaScript 属性描述器剖析 Vue.js 响应式视图
- c语言中缀表达式求值_[源码和文档分享]基于C++的表达式计算求值
- ES(Elasticsearch)基本查询总结(含docker安装,python操作)
- 放弃微博,继续回来写月经
- 在linux上,dmg转换成iso或img文件
- 魅蓝note6救砖_魅蓝NOTE6救砖工具及线刷包
- Matlab查找图像块在原图中的位置
- 网页框架布局设计_实用的网页设计-框架和框架用法介绍
热门文章
- Scala - Idea 项目报错 Cannot resolve symbol XXX
- java怎么实现网络对战平台_手把手教你用Java实现一个简易联网坦克对战小游戏...
- 程序员考公指南(逃离996的最强后路!!!)
- Spring Data JPA-JPA对象的四种状态
- stata 求输出相关系数矩阵命令_Stata外部命令:那些最常用的和最新的命令
- 什么是X.509证书?X.509证书工作原理及应用?
- 公有云上虚拟机故障恢复
- Strange Printer
- 组态王bitset用法_组态王使用常遇到问题
- 基于Nodejs服务器下,python搭配ffmpeg实现推流直播