新增数据库
基本语法
Create database 数据库名字 [库选项];
查看数据库
查看所有数据库: show databases;
查看数据库的创建语句: show create database 数据库名字;
更新数据库
数据库名字不可以修改.
数据库的修改仅限库选项: 字符集和校对集(校对集依赖字符集)
Alter database 数据库名字 [库选项];
Charset/ character set [=] 字符集
Collate 校对集
删除数据库
所有的操作中: 删除是最简单
Drop database 数据库名字;
******************************************************************
新增数据表
Create table [if not exists] 表名(
字段名字 数据类型,
字段名字 数据类型 -- 最后一行不需要逗号
)[表选项];
查看数据表
数据库能查看的方式,表都可以查看.
1. 查看所有表: show tables;
查看表的创建语句: show create table 表名;
修改表本身
表本身可以修改: 表名和表选项
修改表名: rename table 老表名 to 新表名;
修改表选项: 字符集,校对集和存储引擎
Alter table 表名 表选项 [=] 值;
修改字段
字段操作很多: 新增, 修改, 重名, 删除
新增字段
Alter table 表名 add [column] 字段名 数据类型 [列属性] [位置];
位置: 字段名可以存放表中的任意位置
First: 第一个位置
After: 在哪个字段之后: after 字段名; 默认的是在最后一个字段之后
修改字段: 修改通常是修改属性或者数据类型
Alter table 表名 modify 字段名 数据类型 [属性] [位置];
重命名字段
Alter table 表名 change 旧字段 新字段名 数据类型 [属性] [位置];
删除字段
Alter table 表名 drop 字段名;
删除数据表
Drop table 表名1,表名2...; -- 可以一次性删除多张表
新增数据
Insert into 表名[字段列表] values(值列表)[,(值列表)]; -- 可以一次性插入多条记录
查看数据
Select */字段列表 from 表名 [where条件];
更新数据
Update 表名 set 字段 = 值 [where条件]; -- 建议都有where: 要不是更新全部
删除数据
删除是不可逆的: 谨慎删除
Delete from 表名 [where条件];
查询数据
基本语法
Select 字段列表/* from 表名 [where条件];
完整语法
Select [select选项] 字段列表[字段别名]/* from 数据源 [where条件子句] [group by子句] [having子句] [order by子句] [limit 子句];
Select选项
Select选项: select对查出来的结果的处理方式
All: 默认的,保留所有的结果
Distinct: 去重, 查出来的结果,将重复给去除(所有字段都相同)
字段别名
字段别名: 当数据进行查询出来的时候, 有时候名字并一定就满足需求(多表查询的时候, 会有同名字段). 需要对字段名进行重命名: 别名
语法
字段名 [as] 别名;
Where子句
Where子句: 用来判断数据,筛选数据.
Where子句返回结果: 0或者1, 0代表false,1代表true.
判断条件:
比较运算符: >, <, >=, <= ,!= ,<>, =, like, between and, in/not in
逻辑运算符: &&(and), ||(or), !(not)
Group by子句
Group by:分组的意思, 根据某个字段进行分组(相同的放一组,不同的分到不同的组)
基本语法: group by 字段名;
分组的意思: 是为了统计数据(按组统计: 按分组字段进行数据统计)
SQL提供了一系列统计函数
Count(): 统计分组后的记录数: 每一组有多少记录
Max(): 统计每组中最大的值
Min(): 统计最小值
Avg(): 统计平均值
Sum(): 统计和
分组会自动排序: 根据分组字段:默认升序
Group by 字段 [asc|desc]; -- 对分组的结果然后合并之后的整个结果进行排序
Order by子句
Order by: 排序, 根据某个字段进行升序或者降序排序, 依赖校对集.
使用基本语法
Order by 字段名 [asc|desc]; -- asc是升序(默认的),desc是降序
Thinkphp事务处理
第一步:开启事务处理
$User->startTrans()
第二步:如果事务处理成功,提交数据
$User->commit()
第三步:如果事务处理失败,则进行回滚操作
$User->rollback()
基本语法
Create database 数据库名字 [库选项];
查看数据库
查看所有数据库: show databases;
查看数据库的创建语句: show create database 数据库名字;
更新数据库
数据库名字不可以修改.
数据库的修改仅限库选项: 字符集和校对集(校对集依赖字符集)
Alter database 数据库名字 [库选项];
Charset/ character set [=] 字符集
Collate 校对集
删除数据库
所有的操作中: 删除是最简单
Drop database 数据库名字;
******************************************************************
新增数据表
Create table [if not exists] 表名(
字段名字 数据类型,
字段名字 数据类型 -- 最后一行不需要逗号
)[表选项];
查看数据表
数据库能查看的方式,表都可以查看.
1. 查看所有表: show tables;
查看表的创建语句: show create table 表名;
修改表本身
表本身可以修改: 表名和表选项
修改表名: rename table 老表名 to 新表名;
修改表选项: 字符集,校对集和存储引擎
Alter table 表名 表选项 [=] 值;
修改字段
字段操作很多: 新增, 修改, 重名, 删除
新增字段
Alter table 表名 add [column] 字段名 数据类型 [列属性] [位置];
位置: 字段名可以存放表中的任意位置
First: 第一个位置
After: 在哪个字段之后: after 字段名; 默认的是在最后一个字段之后
修改字段: 修改通常是修改属性或者数据类型
Alter table 表名 modify 字段名 数据类型 [属性] [位置];
重命名字段
Alter table 表名 change 旧字段 新字段名 数据类型 [属性] [位置];
删除字段
Alter table 表名 drop 字段名;
删除数据表
Drop table 表名1,表名2...; -- 可以一次性删除多张表
新增数据
Insert into 表名[字段列表] values(值列表)[,(值列表)]; -- 可以一次性插入多条记录
查看数据
Select */字段列表 from 表名 [where条件];
更新数据
Update 表名 set 字段 = 值 [where条件]; -- 建议都有where: 要不是更新全部
删除数据
删除是不可逆的: 谨慎删除
Delete from 表名 [where条件];
查询数据
基本语法
Select 字段列表/* from 表名 [where条件];
完整语法
Select [select选项] 字段列表[字段别名]/* from 数据源 [where条件子句] [group by子句] [having子句] [order by子句] [limit 子句];
Select选项
Select选项: select对查出来的结果的处理方式
All: 默认的,保留所有的结果
Distinct: 去重, 查出来的结果,将重复给去除(所有字段都相同)
字段别名
字段别名: 当数据进行查询出来的时候, 有时候名字并一定就满足需求(多表查询的时候, 会有同名字段). 需要对字段名进行重命名: 别名
语法
字段名 [as] 别名;
Where子句
Where子句: 用来判断数据,筛选数据.
Where子句返回结果: 0或者1, 0代表false,1代表true.
判断条件:
比较运算符: >, <, >=, <= ,!= ,<>, =, like, between and, in/not in
逻辑运算符: &&(and), ||(or), !(not)
Group by子句
Group by:分组的意思, 根据某个字段进行分组(相同的放一组,不同的分到不同的组)
基本语法: group by 字段名;
分组的意思: 是为了统计数据(按组统计: 按分组字段进行数据统计)
SQL提供了一系列统计函数
Count(): 统计分组后的记录数: 每一组有多少记录
Max(): 统计每组中最大的值
Min(): 统计最小值
Avg(): 统计平均值
Sum(): 统计和
分组会自动排序: 根据分组字段:默认升序
Group by 字段 [asc|desc]; -- 对分组的结果然后合并之后的整个结果进行排序
Order by子句
Order by: 排序, 根据某个字段进行升序或者降序排序, 依赖校对集.
使用基本语法
Order by 字段名 [asc|desc]; -- asc是升序(默认的),desc是降序
Thinkphp事务处理
第一步:开启事务处理
$User->startTrans()
第二步:如果事务处理成功,提交数据
$User->commit()
第三步:如果事务处理失败,则进行回滚操作
$User->rollback()