PHP中数据库的基本知识点有哪些?基本语句?基本概念?

慕斯
Lepaskan: 2023-03-10 16:30:01
asal
2754 orang telah melayarinya

上篇文章给大家介绍了《PHP中作用域划分为哪几种?作用域能够被访问的区域是?》,本文继续给大家介绍PHP中数据库的基本知识点有哪些?基本语句?基本概念?有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

PHP中数据库的基本知识点有哪些?基本语句?基本概念?

数据库基本概念

命令结束符:“\g”或是“;”

Mysql支持数据类型:

  • 数值型

  • 整数类型

Tinyint、smallint、mediumint、int和bigint

 Ddl语句(命令大小写都可以)

 创建数据库

 Create database 数据库名
Salin selepas log masuk

选择要操作的数据库:use数据库;对于要操作的数据库我们需要使用use来选择

查看数据库中的所有数据表show tables

删除数据库

 Drop database 数据库名称
Salin selepas log masuk

创建表(在某个数据库里面创建表,需要先使用use选择到要操作的数据库里)

Create table 表名(

字段1名字 字段1类型 列的约束条件,

字段2名字 字段2类型 列的约束条件,

创建完表之后可以查看表单定义

Desc 表名;
Salin selepas log masuk

查看创建表的SQL语句

 Show create table 表名\G(\G选项使得记录能按照字段竖向排列,一遍更好展示内容较长的记录,\G之后不需要加分号)
Salin selepas log masuk

删除表

Drop table 表名;
Salin selepas log masuk

修改表字段类型

 Alter table 表名 modify [colimn] 字段定义 [first|after字段名];
Salin selepas log masuk

增加表字段

Alter table 表名 add [colimn] 字段定义 [first|after字段名];
Salin selepas log masuk

删除表字段

Alter table 表名 change [colimn] 旧的字段名 字段定义 [first|after字段名];
Salin selepas log masuk

注:change与modify都可以修改表的定义,不同的是change后面需要解两次列名,不是特别方便,优点是change可以修改字段名

修改字段排列排序

[first|after字段名]这个选择可以用来修改字段在表中的位置,新增字段默认是加载在表中最后位置,而change/modify默认不会改变字段位置

注:change/first|after 字段名 这些关键字都是属于mysql在标准sql上的扩展,在其他数据库上不一定适用

更改表名

After table 表名 rename [to] 新的表名
Dml语句
Salin selepas log masuk

插入记录

Insert into 表名(字段1,字段2, ...,字段n) values(值1,值2,... ,值n);

可以不用指定字段名,但是values后面的顺序应该与字段排序一致

一次性插入多条记录

Insert into 表名(字段1,字段2, ...,字段n)

Values

(值1,值2,... ,值n),

(值1,值2,... ,值n)

;

查询记录

select * from 表名 where 条件;(*代表你查询表里的所有字段,如果我们查询某一字段,只需要将*改成那一字段即可。)
Salin selepas log masuk

查询不重复的记录

Select distinct 字段1,字段2 from 表名;(只要字段1,字段2任何一个字段有不同就会被选择,一般用于distinct,只筛选一个字段)
Salin selepas log masuk

条件查询

注:条件查询比较符号:=,<,>,>=,<=,!=等比较运算符,多个条件之间可以使用or and等

排序和限制

排序:

  • asc:由低到高,也是默认值select * from 表名 order by 字段名 asc;

  • desc:由高到底select * from 表名 order by字段名 desc;

  • 多个字段排序select * from 表名 order by 字段名 desc,id desc;

  • 数字1代表从第几条记录开始取(是从0开始的),数字2代表取几条!

聚合

用户需要进行一些汇总操作,这就需要sql聚合操作。

①sum求和select sum(字段名) from 表名;

②count记录总数select count(*|字段名) from 表名;

③max最大值select max(字段名) from 表名;

④min最小值select min(字段名) from 表名;

⑤GROUP BY分类聚合select department,sum(salary) from employee group by department;

⑥WITH ROLLUP分类聚合后的结果进行再汇总select sum(salary) from employee group by department with rollup;

⑦HAVING

注意:having和where的区别在于,having是对聚合后的结果进行条件过滤,而where是在聚合前就对记录进行过滤,应该尽可能的对记录进行先过滤!

select sum(salary) from employee group by department having sum(salary)>1000;
在一起使用:select sum(id),max(id),min(id),count(*) from a1;
Salin selepas log masuk

表连接(显示多个表中字段时可以使用)

连接分类

内连接:选取两张表中相互匹配的记录(select 表.字段,.... from 表1名,表2名,... where [匹配的条件比如 表1.字段=表2.字段];)

select 语句可以给字段起别名!直接写在需要查询显示的字段的后面就行,也可以给表起别名

外连接:不仅仅选取两张相互匹配的记录,其他不匹配的记录也会查询出来

左连接

  • 包含左边表中的所有记录(包括右表中没有和它匹配的记录)select * from 表1 left join 表2 on 表1.字段=表2.字段;

  • 包含右边表中的所有记录(包括左表中没有和它匹配的记录)

  • 左连接和右连接是可以相互转换的!

  • 子查询(一个查询需要另外一个查询的结果参与的时候)

用于子查询的关键字:

in在..里面(注意点 in后面的子语句必须只返回一个字段,若查询结果唯一(只有一条)可以使用=代替in,not in与in相反)

语法:select * from 表名1 where 字段1 in(select 字段2 from 表2);
Salin selepas log masuk

Exists(后面那个子语句有没有查询出记录来,如果查询出记录来返回true,否则就是false,并且查询出来的记录的具体的值是NULL也可以,也是返回true.)

语法:select语句 where exists(select 语句);
Salin selepas log masuk

not exits(与exists相反)

记录联合(我们常常会碰到需要将两个表或者多个表的数据按照一定的查询条件查询出来后,将结果合并到一起显示这是就需要用到记录联合)

多个select 语句用UNION或者UNION ALL隔开即可实现

区别: 前者会将多个查询结果合并后并且进行去除重复后返回,后者 则直接合并并不去除重复

联合的条件:查询的列个数要相等

更新记录

更新一个表

Update 表名 set 字段1=值1,字段2=值2,...,字段n=值n[where条件];
Salin selepas log masuk

更新多个表中数据

Update 表1,表2,...表n  set 表1.字段1=表达式1,...,表n.字段n=表达式n[where条件];
Salin selepas log masuk

注:多表更新更多是用在根据一个标的字段来动态更新另一表的字段

推荐学习:php视频教程

 

Atas ialah kandungan terperinci PHP中数据库的基本知识点有哪些?基本语句?基本概念?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan