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 ...
随机推荐
- DataSource是一个java ee的标准接口和servlet一样,用于数据库连接池上
1.DataSource是一个java ee的标准接口和servlet一样,用于数据库连接池上,需要第三方来具体实现. 2.DataSource是一个java ee的标准接口和servlet一样,用于 ...
- EC2:将80端口直接转向8080端口
当安装Tomcat后,需要将服务器的80端口直接指向8080端口,做法如下:1. 确认当前状态.在终端键入:netstat –ntl命令.输入结果应该和下面图片类似.可以看到8080端口处于监听 ...
- 高仿京东APP首页“京东快报”自己主动向上滚动的广告条
转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/51013562 本文出自:[顾林海的博客] 前言 上次在京东APP上买东 ...
- Linux - Virsh
virsh命令 suspend resume dumpxml KVM平台以存储池的形式对存储进行统一管理,所谓存储池能够理解为本地文件夹.通过远端磁盘阵列(iSCSI.NFS)分配过来磁盘或文件夹 ...
- BZOJ 1492 货币兑换 cdq分治或平衡树维护凸包
题意:链接 方法:cdq分治或平衡树维护凸包 解析: 这道题我拒绝写平衡树的题解,我仅仅想说splay不要写挂,insert边界条件不要忘.del点的时候不要脑抽d错.有想写平衡树的去看140142或 ...
- oracle级联操作
在加入foreing key约束时,还能够指定级联操作的类型,主要用于确定当删除(on delete) 附表中的一条记录时,怎样处理子表中的外键字段,有例如以下三种引用类型. cascade 此key ...
- jenkins下载插件失败解决办法
- MySQL desc作用
MySQL中默认排序是acs(可省略):从小到大 desc :从大到小,也叫倒序排列.
- hdu 4932 Miaomiao's Geometry(暴力枚举)
pid=4932">Miaomiao's Geometry ...
- C语言/C++中如何产生随机数
C语言/C++中如何产生随机数 作者: 字体:[增加 减小] 类型:转载 时间:2013-10-14我要评论 这里要用到的是rand()函数, srand()函数,和time()函数.需要说明的是,i ...