三天学会PHP系列-第三天-Mysql数据库

Mysql数据库
环境:
我这里使用的是phpstudy的集成环境

打开命令窗体

> mysql -uroot -p
> 填写两次密码进入数据库

在这里插入图片描述
查看数据库有哪些表

mysql> show databases;

在这里插入图片描述

使用某个数据库

mysql> use dvwa;
Database changed

在这里插入图片描述

查看我们数据库里哪些表

mysql> show tables;

在这里插入图片描述

查看表结构

mysql> desc user;

在这里插入图片描述

创建数据库

create database 数据库名

创建表

create table 表名(
	'number' int(11) NOT NULL auto_increment,
	'name' varchar(32),
	'class' varchar(20);

使用INSERT语句向数据表中添加数据

什么是字段?
这些都是字段
在这里插入图片描述

插入数据是向已经存在的数据表中添加一条心的记录,应该使用INSERT INTO语句
格式:
字段和值是一 一对应的

INSERT INTO 表名 [(字段名,字段名2,...字段名n)]
VALUES('值1','值2',...,'值n')
或者
一般数据库导入的时候,才会使用到
INSERT INTO 表名 [(字段名1,字段名2,...字段名n)]
VALUES('值1','值2',...,'值n'),VALUES('值1','值2',...,'值n');

在这里插入图片描述

使用UPDATE语句更新数据表中已存在的数据

SQL语句可以使用UPDATE语句对表中的一列或多列数据进行修改,必须制定需要修改的字段,并且需要赋予新值,还要给出必要的WHERE子句指定要更新的数据行。
格式:

UPDATE 表名 SET 字段名=要修改的值[,...][WHERE 条件][ORDER BY 字段][LIMIT 行数]

更新users表里的user字段,条件是id=6,一般更新字段会带上条件
在这里插入图片描述

使用DELECT语句删除数据表中不需要的数据记录

DELECT 语句用来删除数据表中的一条或多条数据记录
格式:

DELETE FROM 表名 [WHERE][ORDER BY 字段][LIMIT 行数]
这里的WHERE一定要给,否则是删除整个数据表

在这里插入图片描述
如果直接使用delete from users;
直接就失业了,直接删除了users表里的内容,所以一定要有条件

通过DQL命令查询数据表中的数据

查询语句可以完成简单的单表查询,也可以完成复杂的多表查询和嵌套查询,SELECT语句主要用于数据的查询检索,是SQL语言的核心,在SQL语言中SELECT语句的使用频率是最高的
格式:
下面的格式是只是个参考,操作才是关键

SELECT [ALL|DISTINCT]{*|table.*|[table.]field1[AS alias1][,[table.]field2[AS alias2][,…]]}FROM 表名 [WHERE子句][GROUP BY..][HAVING..][ORDER BY..][LIMIT count];

查询表中所有字段和数据
星号代表所有字段
在这里插入图片描述
如果我们只要查询user和password的字段,查询多个字段只要逗号隔开即可
在这里插入图片描述
在SELECT 语句中使用表达式的列
例如:
查看数据库版本

SELECT version();

在这里插入图片描述
加减乘除
在这里插入图片描述

使用WHERE子句按条件检索

在SELECT语句中,可以使用WHERE子句指定搜索条件,实现从数据表中检索出符合条件的记录,其中,搜索条件可以由一个或多个逻辑表达式组成,这些表达式指定某个记录是真或假的条件,在WHERE子句中可以通过逻辑操作符和比较操作符指定基本的表达式条件

查找id=3
在这里插入图片描述

查找id小于10的
在这里插入图片描述

逻辑运算符
在这里插入图片描述
比较运算符
在这里插入图片描述
在这里插入图片描述

使用WHERE子句按条件检索
在构造搜索条件时,要注意只能对数据类型的记录进行算术运算,并且只能在相同的数据类型之间进行记录

使用BETWEEN AND 进行范围比较查询
如果需要对某个字段通过范围的值进行查询,可以使用BEETWEEN AND 关键字实现,其中AND是多重条件符合,比较时也包括边界条件,也可以使用">=“和”<="完成同样的功能
在这里插入图片描述
使用in (查询内容)进行查询
在这里插入图片描述

使用LIKE进行模糊查询
在SELECT语句的WHERE子句中,可以使用LIKE关键字对数据表进行模糊查询,将查询结果锁定在一个范围内。在查询条件中通常会"_“和”%"两个通配符一起使用,可以实现复杂的检索查询。

  1. 百分号“%”:表示0个或任意多个字符
  2. 下划线"_":表示单个的任意一个字符
    相反的,不匹配我们使用NOT LIKE

匹配中间是r的
在这里插入图片描述
匹配以s开头的
在这里插入图片描述

使用ORDER BY对查询结果排序
SELECT语句中使用ORDER BY子句,对检索的结果进行排序。
ORDER BY 后面可以接一列或多列用于排序的字段,默认情况安装升序,则使用ASC关键字,如果按照降序排序,必须使用DESC关键字,ORDER BY子句可以和SELECT语句中的其他一起使用,但子查询不能有ORDER BY子句,因为ORDER BY只能对最终查询结果排序

对user_id进行排序
在这里插入图片描述
对user_id进行倒叙(在后面加desc即可)
在这里插入图片描述

使用LIMIT限定结果行数
如果数据表中的记录数非常多,一次从表中返回大量的记录不仅检索的速度慢,用户阅读也不方便,使用LIMIT子句一次取少数的记录,用分页的方式继续阅读后面的数据

LIMIT子句可以和其他的SELECT子句一起使用,它可以指定两个参数,分别用设置返回记录的起始位置,和返回记录的数量

LIMIT子句也可以使用一个参数,表示开头位置,即偏移量为0的位置返回指定数量的记录,在上例中使用的”LIMIT 0,5“ 等价于”LIMIT 5“
执行

select * from tables

在这里插入图片描述
发现里面内容很多,很杂
使用limit进行选段,limit 2的意思就是第一行以后查2条
在这里插入图片描述

使用统计函数
语法:

SELECT 函数名(列名1或*),...函数名(列名n) from 表名;	#使用统计函数

在这里插入图片描述
统计表里多少条记录

select count(*) from users; 

在这里插入图片描述
查看最大id数

select max(user_id) from users;

在这里插入图片描述

下面如何使用php执行语句,新建一个demo.php文件
//如果这里出现mysql_connect(): The mysql extension is deprecated and will be removed 类似这样的报错
将mysql_connect()
改成mysqi_connect(),或者PDO代替即可

第一种方法适合只查一条数据
mysql_fetch_assoc
<?php
	$link = mysql_connect('localhost','root','123456'):	//连接
	mysql_select_db('threephp');		//选择数据库
	mysql_set_charset('utf8');		//选择编码
	$sql = "SELECT id,name,age,sex FROM users where id =10";	//搜索语句
	$res =mysql_query($sql);	//发送查询语句
	$row =mysql_fetch_assoc($res);		//获得一行关联数组
	var_dump($row);
	
?>

查询多条数据

第二个方法适合查询多条数据
<?php
	$link = mysql_connect('localhost','root','123456'):	//连接
	mysql_select_db('threephp');		//选择数据库
	mysql_set_charset('utf8');		//选择编码
	$sql = "SELECT id,name,age,sex FROM users where id =10";	//搜索语句
	$res =mysql_query($sql);	//发送查询语句
	while(list($id,$name,$age,$sex) = mysql_fetch _row($res)){
		echo "{$id}--{$name}--{$age}--{$sex}--<br />";
	}
	var_dump($row);
?>

如果是插入语句只需要判断sql是否执行成功,删除语句也是一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值