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第一节课的更多相关文章

  1. Centos安装自定义布局才能自己划分各个区的大小ctrl+z ,fg ,route -n ,cat !$ ,!cat ,XShell 设置, ifconfig CentOS远程连接 Linux中的输入流 第一节课

    Centos安装自定义布局才能自己划分各个区的大小ctrl+z ,fg ,route -n ,cat !$ ,!cat ,XShell 设置, ifconfig  CentOS远程连接  Linux中 ...

  2. [iOS]Objective-C 第一节课

    Objective-C 第一节课 本节课的主要内容 创建Objective-C的第一个工程 HelloWorld Objective-C中的字符串 创建Objective-C的第一个工程 打开Xcod ...

  3. centos mysql 实战 第一节课 安全加固 mysql安装

    centos mysql  实战  第一节课   安全加固  mysql安装 percona名字的由来=consultation 顾问+performance 性能=per  con  a mysql ...

  4. Java第一节课动手动脑

    在第一节课的动手动脑中,主要解决四则运算问题. 首先第一个是出30道四则运算题目,在100以内.这个问题需要控制随机数生成的范围和结果的范围在100以内就可以. 第一次改进是3点:一为避免重复,二为定 ...

  5. 左神算法第一节课:复杂度、排序(冒泡、选择、插入、归并)、小和问题和逆序对问题、对数器和递归(Master公式)

    第一节课 复杂度 排序(冒泡.选择.插入.归并) 小和问题和逆序对问题 对数器 递归 1.  复杂度 认识时间复杂度常数时间的操作:一个操作如果和数据量没有关系,每次都是固定时间内完成的操作,叫做常数 ...

  6. web第一节课 sql 数据库连接 查询

    1.数据库连接语句 <connectionStrings> <add name="yhotel" connectionString="Database= ...

  7. JAVAWEB第一节课的课后思考

    第一开发一个网站需要的一些技术 至少熟悉一种建站程序.(html,javascript等等)对空间和域名的知识有一定的了解.有一些美工基础(例如ps设计等等).对编程有一些了解.HTML的代码知识基本 ...

  8. SQL第二节课

    SQL练习题 一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的 ...

  9. springboot的第一节课

    快速开始spring boot应用 官方向导搭建boot应用 地址:http://start.spring.io/ 设置项目属性: 3.解压,拷贝到工作空间,导入maven项目 4.写Controll ...

随机推荐

  1. eclipse上导入import git项目

    1.左上角File->import->git eclipse 可以从很多来源处import项目,项目来源可以使git/maven/general等. import来源可以看下面 2.点击g ...

  2. HDU 4544

    贪心算法+优先队列. 很明显是应当先消灭blood值大的,那么注意到,对于少blood值的,能灭大blood值的箭必定能消灭小blood值的,所以,可以先排序,在消灭一个blood值的时候,选择一个小 ...

  3. android NDK开发在本地C/C++源码中设置断点单步调试具体教程

    近期在学android NDK开发,折腾了一天,最终可以成功在ADT中设置断点单步调试本地C/C++源码了.网上关于这方面的资料太少了,并且大都不全,并且调试过程中会出现各种各样的问题,真是非常磨人. ...

  4. C++对象模型——对象复制语意学 (Object Copy Semantics)(第五章)

    5.3    对象复制语意学 (Object Copy Semantics) 当设计一个 class,并以一个 class object指定给 class object时,有三种选择:     1.什 ...

  5. HDU 2665(主席树,无修改第k小)

    Kth number                                                 Time Limit: 15000/5000 MS (Java/Others)   ...

  6. MySQL SQL优化教程

    转自:https://www.cnblogs.com/duanxz/archive/2013/02/01/2889413.html 一,查询SQL执行效率 通过show status命令了解各种SQL ...

  7. Nightmare --- 炸弹时间复位

    题目大意: 该题为走迷宫,其条件有如下6个: 1, 迷宫用二维数组来表示: 2, 人走动时不能越界,不能在墙上走: 3, 当走到出口时,若剩余时间恰好为0,则失败: 4, 找到炸弹复位装置,若剩余时间 ...

  8. UILabel垂直方向显示(上下的顺序显示)。

    NSString* text = @"一"; NSDictionary *attribute = @{NSFontAttributeName: [UIFont systemFont ...

  9. for 循环的中的i

    for循环中的i,如果倒过来判断从某数一直到0,一定不能用unsigned int类型的i,因为unsigned int不可能小于0,当i=0后,i--将达到最大的unsigned int,依旧> ...

  10. JAVA 中进行网络通信时,通信的程序两端要传输的对象,不仅要序列化,而且这个对象所属的类的名字要完全一样,连包的名字都得一样

    如上图项目目录,这是一个简易的QQ,客户端登录的时候要传输用户信息到服务器验证,所以两端都会用到User类的对象,但一开始我在Server端的包名是com.qq.server.common,两端的报名 ...