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 datatypeDROP TABLE 表名称
DROP DATABASE 数据库名称
3.3DCL

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248654.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

scrapy爬虫框架windows下的安装问题

windows操作系统python版本是3.6.0通过Anaconda命令conda install scrapy安装scrapy,安装过程中没有问题。然后在命令行输入命令准备新建项目时&#xff0c;输入 scrapy startproject firstscrapy时出现了from cryptography.hazmat.bindings._openssl import ffi, libImportErr…

charles使用说明(基于mac)

1. Charles简介 1.1 Charles 需要java的运行环境支持&#xff0c;支持Windows、Mac&#xff1b;Fiddler不支持Mac。故Charles是在Mac下常用的网络封包截取工具。 1.2 Charles原理&#xff1a;通过将自己设置成系统的网络访问代理服务器&#xff0c;使得所有的网络访问请求都通过…

看完就懂的连表查询

文章目录一、表与表之间的关系1.1一对一1.2一对多1.3多对多二、 连表查询2.1概念2.2笛卡尔积2.3内连接2.4外连接2.4.1左外连接2.4.2右外连接2.4.3全连接2.4.4navicat导入导成sql语句2.4.5练习三、 子查询3.1概念3.2练习3.2.1查询工资最高的员工所有信息3.2.2查询工资比7654工资…

三分钟掌握PHP操作数据库

这里写自定义目录标题一、 操作数据库&#xff08;mysql&#xff09;的工具1.1命令行工具1.2navicat界面化工具1.3phpAdmin界面化工具二、 表单传值2.1文本框和文本域传值2.2单选框传值2.4下拉菜单传值三、 php连接数据库3.1连接方式介绍3.2mysqli基础步骤3.2.1创建连接3.2.2选…

看完就会的文件编程

文章目录文件编程1.1文件操作函数1.1.1file()函数1.1.2fopen fgets fclose1.2.1读取模式1.2.2写入内容&#xff08;开头&#xff09;1.2.3写入内容&#xff08;追加&#xff09;1.1.3file_get_contents1.1.4文件路径相关函数1.1.5file_exists1.1.6feof1.1.7copy()1.1.8set_incl…

一文吃透PHP和HTML的嵌套写法

1.1全部php生成结构 1.2html中嵌套php 总结如下&#xff1a; html和php混写规则&#xff1a; php代码必须包在<?php ?>html中写php也是同理&#xff0c;但是有值输出必须加上echo 1.3博客项目 1.3.1前后台 前台主要是做数据展示的&#xff0c;所有的用户通过访问域…

一文看懂 GD2库

文章目录一、 GD2简介1、 验证码&#xff08;实际上是一个img&#xff09;二、 GD2库使用步骤2.1添加扩展2.2修改php配置文件2.3重启服务三、 GD2里面的常用方法3.1 imagecreate3.2 imagecolorallocate3.3 imagefill3.4 输出图像资源3.5创建真彩画布3.6在图像中写文字3.6.1imag…

算法实践--最小生成树(Kruskal算法)

什么是最小生成树(Minimum Spanning Tree) 每两个端点之间的边都有一个权重值&#xff0c;最小生成树是这些边的一个子集。这些边可以将所有端点连到一起&#xff0c;且总的权重最小 下图所示的例子&#xff0c;最小生成树是{cf, fa, ab} 3条边 Kruskal算法 用到上一篇中介绍的…

洽谈 “会话技术” 纯干货赶紧收藏吧

文章目录一、 HTTP协议二、 会话三、 cookie3.1概念和设置cookie3.2读取cookie3.3设置cookie有效期3.4cookie是跨页面的3.5删除cookie3.6登录案例3.7cookie特点四、 session4.1概念4.2设置session4.3获取session4.4清除session4.5模拟购物车案例一、 HTTP协议 HTTP协议是Hyper…

[bzoj2729][HNOI2012]排队 题解 (排列组合 高精)

Description 某中学有 n 名男同学&#xff0c;m 名女同学和两名老师要排队参加体检。他们排成一条直线&#xff0c;并且任意两名女同学不能相邻&#xff0c;两名老师也不能相邻&#xff0c;那么一共有多少种排法呢&#xff1f;&#xff08;注意&#xff1a;任意两个人都是不同的…

详解 正则表达式

文章目录一、概念二、作用三、语法规则3.1定义规则3.2符号简介3.3preg_match用法详解3.4详解元字符3.4.1 \d和[0-9]3.4.2 \D和[^0-9]3.4.3^和$3.4.4*代表出现0次或者多次3.4.5代表出现1次或者多次3.4.5&#xff1f;代表出现0次或者1次3.4.6{n}3.4.7{n,}3.4.8{n,m}3.4.9点号&…

Java:控制台输入车辆信息,将信息保存至数据库中

程序功能&#xff1a;控制台输入车辆信息&#xff0c;将信息保存至数据库中 程序代码如下&#xff1a; BaseDao.java package DAO_dome.kehozuoye; import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;i…

echars 3D地图为区域自定义颜色

echars 3D地图为区域自定义颜色问题延伸解决问题问题 根据项目需求&#xff0c;我们要将下面省级地图中的个别市进行高亮&#xff08;不同颜色&#xff09;展示 延伸 首先跟大家介绍这个地图的展示方式&#xff1a; 采用的是Vue框架中运用echarts地图采用的是geo3D和scatt…

基于Python语言使用RabbitMQ消息队列(一)

介绍 RabbitMQ 是一个消息中间人&#xff08;broker&#xff09;: 它接收并且发送消息. 你可以把它想象成一个邮局: 当你把想要寄出的信放到邮筒里时, 你可以确定邮递员会把信件送到收信人那里. 在这个比喻中, RabbitMQ 就是一个邮筒, 同时也是邮局和邮递员 . 和邮局的主要不同…

爆赞程序猿开发软件

VSCode 使用 IntelliSense 超越语法突出显示和自动完成&#xff0c;它提供基于变量类型、函数定义和导入模块的智能完成 直接从编辑器调试代码。启动或附加到您正在运行的应用程序并使用断点、调用堆栈和交互式控制台进行调试 与 Git 和其他 SCM 提供商合作从未如此简单。查…

如果你在北京失业了,别怕,记得去领这笔钱!最少2034元/月!

人在江湖飘&#xff0c;哪能不挨刀 公司倒闭&#xff0c;老板走人&#xff0c;公司裁人 …… 就要被迫失业了 别怕! 如果你在北京失业了 记得去领这笔钱——失业保险金 每月最多有2143元 虽然钱不多&#xff0c;但能解燃眉之急 帮助你度过困难日子 重点全程网上就能…

真实诠释程序员日常的二十四张图【你中了几个】

当你打开遗留代码时 扒下来项目后改了一行代码…… 程序员调试css样式的时候 当你的try catch 不起作用 产品经理对你说要兼容IE 没有ui给你提供大小设计的结果 没吃透需求直接开发的你 程序员修复bug的真实处境 当你开始使用库&#xff0c;但忘记阅读文档 产品经理告诉你这只是…

Git学习原版手稿

手稿诞生记 Git学习的时候难免会有遗忘然后往复学习查看的过程&#xff0c;所以就形成了这个学习的手稿&#xff0c;记录了Git使用过程中的大部分命令&#xff0c;今天在清理的时候偶然看到了这些记录&#xff0c;而且最近也在写Git的使用教程&#xff0c;大致的学习线路也是按…

程序员首选编程电脑【火爆来袭】

作为一名程序员肯定会常用到一些编程软件&#xff0c;所以需要设备的配置参数上不能太差&#xff0c;不仅是要以稳定强大输出为基本&#xff0c;内存、音响、续航等方面也不可或缺。 直奔主题 如果你手里资金到位&#xff0c;那必须整一步到位——MacBook 对于这款大佬型笔记本…

强大的APIClound云修复——告别繁琐的编译打包流程

小编接到一项目的二期开发任务&#xff0c;拉下代码开始熟悉大概的框架、技术、上线流程等前期工作&#xff0c;本app是通过vue技术进行开发&#xff0c;使用ui是 vant 库&#xff0c;打包上线则是使用的 APIClound 平台&#xff1b; 在我们的app上线后&#xff0c;如果我们改…