SQL第一节课
phpmyadmin
create table 表名
(
列名 数据类型 是否为空 (是否主键|是否唯一|外键关系),
列名 数据类型...(最后一列不加逗号)
)
create database 数据库名
insert into 数据库名.表名 values(数据,按列顺序填充逗号隔开)
update 表 set 列=新值 where 条件
delete from 表 where 条件
select 结果显示列 from 表 where 条件
C/S:Client Server
B/S:Brower Server
PHP主要实现B/S
.net IIS java TomCat
LAMP:Linux系统 A阿帕奇服务器 Mysql数据库 PHP语言
WAMP:Windows系统 A阿帕奇服务器 Mysql数据库 PHP语言
mysql:常用代码
create table ceshi1
(
Uid varchar(50) primary key,
Pwd varchar(50),
Name varchar(50)
Nation varchar(50),
foreign key (Nation) references Nation(Code)
)
写查询语句需要注意:
1.创建表的时候,最后一列后面不要写逗号
2.如果有多条语句一起执行,注意在语句之间加分号分隔
3.写代码所有符号都是半角的
关系型数据库:表和表之间是有关系存在的
创建表的几个关键字:
1.主键: primary key
2.非空: not null
3.自增长列:auto_increment
4.外键关系: foreign key (列名) references 表名(列名)
修改表:
1.alter table 表名 需要修改的内容
2.alter table 表名 add primary key (列名) #添加列为主键
3.alter table 表名 add primary key (列名,列名) #添加两个列为组合主键 add 添加 delete 删除
CRUD操作:
1.添加数据:
insert into 表名 values(值,'值') #要求values括号里面值的个数要跟表里面列数相同 字符串需要加''
insert into 表名 (列名,列名) values('值','值') #添加指定列的值
2.修改数据:
update 表名 set 列名=新值 where 条件
3.删除数据:
delete from 表名 where 条件
4.查询数据:
1.普通查询,查所有的:
select * from 表名 #查所有数据
select 列名,列名 from 表名 #查指定列
2.条件查询
select * from 表名 where 条件 #一个条件
select * from 表名 where 条件 and 条件 #两个条件并的关系
selecgt * from 表名 where 条件 or 条件 #两个条件或的关系
3.排序查询
select * from 表名 order by 列名 #默认升序排列 asc 如果要降序排列 desc
select * from 表名 order by 列名 desc,列名 asc #多列排序用逗号隔开
4.聚合函数
select count(列名) from 表名 #取个数
select sum(列名) from 表名 #查询列的和
select avg(列名) from 表名 #查询列的平均值
select max(列名) from 表名 #查询列的最大值
select min(列名) from 表名 #查询列的最小值
select * from 表名 where 列名 between 值 and 值 #列名的值 在两个值之间
5.分页查询
select * from 表名 limit (i-1)*n,m #跳过n条数据取m条数据 i页
6.分组查询
select 列名 from 表名 group by 列名 #简单分组查询
select 列名 from 表名 group by 列名 having count(*)>x #查询系列数量大于x的系列
7.去重查询
select distinct(列名) from 表名
8.修改列名
select 列名 as '新列名' from 表名
9.模糊查询
select * from 表名 where 列名 like'值%' # %代表任意多个字符 %值% 包含 _代表一个字符
10.离散查询
select * from 表名 where 列名 in('值','值','值')
select * from 表名 where 列名 not in('值','值','值')
Select * from 表名 where 列名<all (子查询多个数)
高级查询:
1.链接查询
select * from 表名,要连接的表名 #得出的结果称为笛卡尔积
select * from 表名,要连接的表名 where 表名.列名=要连接的表名.列名
join on 链接
select * from 表名 join 要连接的表名 #join链接
select * from 表名 join 要连接的表名 on 表名.列名=要连接的表名.列名
2.联合查询
select 列名,列名 from 表名
union
select 列名,列名 from 要联合的表名
列数要相同
3.子查询
1)无关子查询
select * from 表名 where 列名='要查询的内容'
select * from 表名 where 上面表的表名=(要查询的内容)
select * from 表名 where 关联的表名=(select * from 关联的表名 where 列名='要查询的内容')
子查询查询的结果被父查询使用,子查询可以单独执行的称为无关子查询
2)相关子查询
select * from 表名 where 列名<(内容的平均数) #查询内容小于括号内的平均数
select avg(列名) from 求平均的表名 where 列名='值' # 查询某列的平均值
select * from 表名 a where 列名<(select avg(列名) from 表名 b where b.列名='a.列名')
SQL第一节课的更多相关文章
- Centos安装自定义布局才能自己划分各个区的大小ctrl+z ,fg ,route -n ,cat !$ ,!cat ,XShell 设置, ifconfig CentOS远程连接 Linux中的输入流 第一节课
Centos安装自定义布局才能自己划分各个区的大小ctrl+z ,fg ,route -n ,cat !$ ,!cat ,XShell 设置, ifconfig CentOS远程连接 Linux中 ...
- [iOS]Objective-C 第一节课
Objective-C 第一节课 本节课的主要内容 创建Objective-C的第一个工程 HelloWorld Objective-C中的字符串 创建Objective-C的第一个工程 打开Xcod ...
- centos mysql 实战 第一节课 安全加固 mysql安装
centos mysql 实战 第一节课 安全加固 mysql安装 percona名字的由来=consultation 顾问+performance 性能=per con a mysql ...
- Java第一节课动手动脑
在第一节课的动手动脑中,主要解决四则运算问题. 首先第一个是出30道四则运算题目,在100以内.这个问题需要控制随机数生成的范围和结果的范围在100以内就可以. 第一次改进是3点:一为避免重复,二为定 ...
- 左神算法第一节课:复杂度、排序(冒泡、选择、插入、归并)、小和问题和逆序对问题、对数器和递归(Master公式)
第一节课 复杂度 排序(冒泡.选择.插入.归并) 小和问题和逆序对问题 对数器 递归 1. 复杂度 认识时间复杂度常数时间的操作:一个操作如果和数据量没有关系,每次都是固定时间内完成的操作,叫做常数 ...
- web第一节课 sql 数据库连接 查询
1.数据库连接语句 <connectionStrings> <add name="yhotel" connectionString="Database= ...
- JAVAWEB第一节课的课后思考
第一开发一个网站需要的一些技术 至少熟悉一种建站程序.(html,javascript等等)对空间和域名的知识有一定的了解.有一些美工基础(例如ps设计等等).对编程有一些了解.HTML的代码知识基本 ...
- SQL第二节课
SQL练习题 一. 设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的 ...
- springboot的第一节课
快速开始spring boot应用 官方向导搭建boot应用 地址:http://start.spring.io/ 设置项目属性: 3.解压,拷贝到工作空间,导入maven项目 4.写Controll ...
随机推荐
- clear out all variables without closing terminal
clear out all variables without closing terminal https://unix.stackexchange.com/questions/172655/cle ...
- Android+Jquery Mobile学习系列(6)-个人信息设置
本节开始,进行代码的实战练习.我的这个App是管理保险客户信息的,数据采用Sqlite存储在本地手机上,第一次使用需要先登记自己的个人信息,这个功能非常简单,也无关紧要,我是拿这个练手,方便做后面复杂 ...
- [python 基础]python装饰器(一)添加functools获取原函数信息以及functools.partial分析
python装饰器学习的时候有两点需要注意一下 1,被装饰器装饰的函数取其func.__name__和func.func_doc的时候得到的不是被修饰函数的相关信息而是装饰器wrapper函数的doc ...
- H264的RTP负载打包的数据包格式,分组,分片
H264的RTP负载打包的数据包格式,分组,分片 1. RTP数据包格式 RTP报文头格式(见RFC3550 Page12): 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 ...
- 数据结构C++,线性表的实现
#include <iostream>#include <sstream>#include <fstream>#include <cmath>#incl ...
- Java 8 实战 P3 Effective Java 8 programming
目录 Chapter 8. Refactoring, testing, and debugging Chapter 9. Default methods Chapter 10. Using Optio ...
- [Apple开发者帐户帮助]五、管理标识符(4)注册一个应用程序组
您需要注册一个或多个组才能启用应用组. 所需角色:帐户持有人或管理员. 在“ 证书”,“标识符和配置文件”中,从左侧的弹出菜单中选择操作系统. 在“标识符”下,选择“应用程序组”,然后单击右上角的“添 ...
- APP加固反调试(Anti-debugging)技术点汇总
0x00 时间相关反调试 通过计算某部分代码的执行时间差来判断是否被调试,在Linux内核下可以通过time.gettimeofday,或者直接通过sys call来获取当前时间.另外,还可以通过自定 ...
- 4.Flask-alembic数据迁移工具
alembic是用来做ORM模型与数据库的迁移与映射.alembic使用方式跟git有点类似,表现在两个方面,第一个,alemibi的所有命令都是以alembic开头: 第二,alembic的迁移文件 ...
- ROS-TF-Time
前言:如何在特定时间进行转换.让第二只乌龟去第一只乌龟在5秒前的地方. 参考自:http://wiki.ros.org/tf/Tutorials/Time%20travel%20with%20tf%2 ...