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. clear out all variables without closing terminal

    clear out all variables without closing terminal https://unix.stackexchange.com/questions/172655/cle ...

  2. Android+Jquery Mobile学习系列(6)-个人信息设置

    本节开始,进行代码的实战练习.我的这个App是管理保险客户信息的,数据采用Sqlite存储在本地手机上,第一次使用需要先登记自己的个人信息,这个功能非常简单,也无关紧要,我是拿这个练手,方便做后面复杂 ...

  3. [python 基础]python装饰器(一)添加functools获取原函数信息以及functools.partial分析

    python装饰器学习的时候有两点需要注意一下 1,被装饰器装饰的函数取其func.__name__和func.func_doc的时候得到的不是被修饰函数的相关信息而是装饰器wrapper函数的doc ...

  4. 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 ...

  5. 数据结构C++,线性表的实现

    #include <iostream>#include <sstream>#include <fstream>#include <cmath>#incl ...

  6. Java 8 实战 P3 Effective Java 8 programming

    目录 Chapter 8. Refactoring, testing, and debugging Chapter 9. Default methods Chapter 10. Using Optio ...

  7. [Apple开发者帐户帮助]五、管理标识符(4)注册一个应用程序组

    您需要注册一个或多个组才能启用应用组. 所需角色:帐户持有人或管理员. 在“ 证书”,“标识符和配置文件”中,从左侧的弹出菜单中选择操作系统. 在“标识符”下,选择“应用程序组”,然后单击右上角的“添 ...

  8. APP加固反调试(Anti-debugging)技术点汇总

    0x00 时间相关反调试 通过计算某部分代码的执行时间差来判断是否被调试,在Linux内核下可以通过time.gettimeofday,或者直接通过sys call来获取当前时间.另外,还可以通过自定 ...

  9. 4.Flask-alembic数据迁移工具

    alembic是用来做ORM模型与数据库的迁移与映射.alembic使用方式跟git有点类似,表现在两个方面,第一个,alemibi的所有命令都是以alembic开头: 第二,alembic的迁移文件 ...

  10. ROS-TF-Time

    前言:如何在特定时间进行转换.让第二只乌龟去第一只乌龟在5秒前的地方. 参考自:http://wiki.ros.org/tf/Tutorials/Time%20travel%20with%20tf%2 ...