PHP从零开始--字段修饰符&&数据操作&&SQL语言

2021/7/6 19:07:28

本文主要是介绍PHP从零开始--字段修饰符&&数据操作&&SQL语言,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

      • 一、 字段修饰符
        • 1.1主键
        • 1.2自动增长
        • 1.3非空
        • 1.4默认值
        • 1.5外键
      • 二、 对数据的操作
        • 2.1增加数据
        • 2.2删除数据
        • 2.3更新数据
        • 2.4查询数据
          • 2.4.1查询所有的数据
          • 2.4.2查询指定字段
          • 2.4.3去除重复字段
          • 2.4.4where表达式详解
          • 2.4.5分组查询
          • 2.4.6排序
      • 三、 SQL语言
          • 3.1DML
          • 3.2DDL
          • 3.3DCL

一、 字段修饰符

1.1主键

主键使用primary key修饰 ,它是唯一,可以防止用户插入相同的数据
如果字段加上主键修饰符,如果再加入重复的数据会报错。
在这里插入图片描述

1.2自动增长

auto_increment 是自动增长的修饰符,用户没插入一条数据,修饰的字段会自动增加
这样创建的表插入数据默认是从1开始的
在这里插入图片描述

1.3非空

not null 如果字段用not null 修饰了,但是插入数据的时候这个字段没有给值会报错
create table student (sid int primary key auto_increment,sname varchar(20) not null,sex char(2));

1.4默认值

default 数字
或者default 字符串
意思是用户如果某个字段设置了默认值,如果插入数据的时候这个字段没有给值就采用默认值
create table student (sid int primary key auto_increment,sname varchar(20) not null,sex char(2) default ‘男’);

1.5外键

其中一个表中的字段用primary key修饰,它叫主键,主键所在的表叫主表,另外一张表也有一个字段和主表中的主键相关联,tid叫做student表的外键。
在这里插入图片描述

用外键约束,如果删除一个表中的数据,会提示报错,这样就保证了数据的一致性和完整性。
完整代码如下:
创建教师表:
create table teacher (tid int primary key auto_increment,tname varchar(20));

创建学生外键表:

create table student(
	sid int primary key auto_increment,
	sname varchar(20),
	age int,
	tid int,
	foreign key(tid) references teacher(tid));

二、 对数据的操作

2.1增加数据

insert into 表名 (字段1,字段2…) values (值1,值2…) ;

或者同时插入多条数据
在这里插入图片描述

2.2删除数据

delete from 表名 where 条件表达式

delete from yuan where name =‘jerry’;

2.3更新数据

update 表名 set 字段=新值,字段2=新值… where 条件
必须加条件 否则整个表的数据都会更新

update yuan set name=‘aaa’,sal=6000 where id=3;

2.4查询数据

2.4.1查询所有的数据

select * from 表名

select * from yuan;

2.4.2查询指定字段

select 字段1,字段2… from 表名

select id,name,sal from yuan;

2.4.3去除重复字段

select distinct 字段名 from 表名;

select distinct name from yuan;

2.4.4where表达式详解

算术表达式:+ - * / %
比较运算符: > >= < <= <>表示不等 =表示等于
逻辑运算符: and or not
(1) 查询工资大于3000
select * from 表名 where sal>3000;

select * from yuan where sal>3000;

(2) 查询工资不等于6000
select * from yuan where sal<>6000;

(3) 查询工资等于6000
select * from yuan where sal=6000
(4) 查询姓名是jim而且性别是女的信息
select * from yuan where name=’jim’ and sex=’女’;
(5) 查询不是女生的信息
select * from yuan where not sex=’女’;

(6) 查询工作在3000和5000之间的
between 表示范围 相当于>=3000 and <=5000
select * from yuan where sal between 3000 and 6000;

(7) 查询地区是保定 南京 沧州
在这里插入图片描述

in(值1,值2,值3) 表示是里面的任意一个值
在这里插入图片描述

(8) like 模糊查询
like后面可以跟字符串表示模糊查询,%代表任意字符,一个_代表一个字符

比如查询姓名叫张x 张xx

select * from yuan where name like ‘张%’;

比如查询叫x华 xx华 最后一个字是华
select * from yuan where name like ‘%华’;

比如查询中间带华的
select * from yuan where name like ‘%华%’;

2.4.5分组查询

count(*) 统计数量
max(字段名)最大值
min(字段名)最小值
sum(字段名)求和
avg(字段名)求平均值

数据表信息如下:
在这里插入图片描述

 求男生和女生的人数
select sex,count(*) from yuan group by sex;

 求部门工资的最大值
select b_id,max(sal) from yuan group by b_id;

 求每个地区的平均工资是多少
select area,avg(sal) from yuan group by area;

 分组以后再加条件用having
查询按地区分组然后平均工资小于等于6000的信息
select area,avg(sal) from yuan group by area having avg(sal)<=6000;

2.4.6排序

(1)升序和降序
按工资排序 取前三名

desc是降序 asc是升序
select * from yuan order by sal desc;

select * from yuan order by sal desc limit 3;

(2)limit详解
limit后面可以跟两个参数,第一个参数是开始的索引号,默认是0开始,第二个参数取的个数(长度)
select * from yuan order by sal desc limit 0,3;

三、 SQL语言

SQL(structured query language)是结构化查询语言的意思,mysql、oracle用的都是sql语言,只不过根据软件的不同儿语法稍有区别,就和我们的普通话和方言的意思是一样的。
上面的增删改查 对数据库和表的操作等都是sql语句。
SQL语言

3.1DML

DML(data manipulation language)数据操纵语言:就是我们最经常用到的 SELECT、UPDATE、INSERT、DELETE。 主要用来对数据库的数据进行一些操作。

SELECT 列名称 FROM 表名称
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
DELETE FROM 表名称 WHERE 列名称 = 值
3.2DDL

DDL(data definition language)数据库定义语言:其实就是我们在创建表的时候用到的一些sql,比如说:CREATE、ALTER、DROP等。DDL主要是用在定义或改变表的结构,数据类型,表之间的链接和约束等初始化工作上

CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
)

ALTER TABLE table_name
ALTER COLUMN column_name datatype

DROP TABLE 表名称
DROP DATABASE 数据库名称
3.3DCL

DCL(Data Control Language)数据库控制语言:是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。这个比较少用到。

在公司呢一般情况下我们用到的是DDL、DML这两种。



这篇关于PHP从零开始--字段修饰符&&数据操作&&SQL语言的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程