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 ...
随机推荐
- vs2010+cuda5.0+qt4.8
在进行CUDA处理的时候,总是在控制台程序下,于是就想要通过qt进行界面处理. 一开始先测试一下qt的环境,新建一个qt项目,不过在运行的时候提示平台不对,换成64位 出现 这个是qt的版本问题,在右 ...
- Spring 新手教程(三) 注入和自己主动装配
Spring注入是指在启动Spring容器载入bean配置的时候.对类变量的赋值. 两种经常使用注入方式:设值注入和构造注入 以下就这部分知识看代码以及代码中的注解: 1.首先看Spring ...
- Android开发之PullToRefresh的Click点击事件的监听实现长按删除Item
本文为原创博客.出自http://blog.csdn.net/minimicall 到今天为止,搜芽的卖家版本号应该来说已经基本完毕.攻坚克难的一路过来.速度也控制的比較好. 项目过程进度 从任务分配 ...
- Lucene5学习之使用MMSeg4j分词器
分类:程序语言|标签:C|日期: 2015-05-01 02:00:24 MMSeg4j是一款中文分词器,详细介绍如下: 1.mmseg4j 用 Chih-Hao Tsai 的 MMSeg 算法( ...
- STL源代码剖析 容器 stl_stack.h
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie stack ---------------------------------------- ...
- bzoj1898: [Zjoi2005]Swamp 沼泽鳄鱼
一眼矩乘 把图分成12个,然后直接搞. #include<cstdio> #include<iostream> #include<cstring> #include ...
- bzoj 4025 二分图 分治+并查集/LCT
bzoj 4025 二分图 [题目大意] 有n个点m条边,边会在start时刻出现在end时刻消失,求对于每一段时间,该图是不是一个二分图. 判断二分图的一个简单的方法:是否存在奇环 若存在奇环,就不 ...
- Codeforces--630B--Moore's Law(快速幂)
Moore's Law Time Limit: 500MS Memory Limit: 65536KB 64bit IO Format: %I64d & %I64u Submit ...
- [Codeforces 1013B] And
[题目链接] http://codeforces.com/problemset/problem/1013/B [算法] 不难发现,答案只有0,1,2,-1,共4种取值 分类讨论即可,计算时可以使用ST ...
- B1192 [HNOI2006]超级英雄Hero 二分图匹配
先检讨一下,前一段时间开学,做题懒得发博客,也不总结...现在捡起来. 这个题一看是裸的二分图匹配,但是仔细一看还有一些区别,就是必须要连续的连接,否则直接退出.因为前一道题答不出来的话后面的题就没有 ...