数据库......基础语句按照功能排列

数据库…基础语句按照功能排列

创建

数据库
create database 数据库名;


create table 表名 (字段名数据类型约束,… );

增加

字段
alter table 表名 add 字段名 数据类型;

指定位置字段
alter table 表名 add 字段名 数据类型 first/after 字段名;
first在表的第一个位置增加字段
after在指定字段名之后增加字段

主键
alter table 表名 add primary key (字段名);

外键
alter table 表名 add constraint (外键名:fk_从表_主表) froeign key (外键字段名) references 主表(主键字段);

修改

表名
alter table 旧表名 rename 新表名;

字段名称
alter table 表名 change 旧字段 新字段名 数据类型;

字段
alter table 表名 modify 字段名 数据类型;

默认值
alter table 表名 alter 字段名 set default 默认值;

数据
update 表名 set 列名 = 更新值 where 条件;

删除

字段
alter table表名drop字段名;

外键
alter table表名drop foreign key外键名;

主键
alter table表名drop primary key;

数据表
drop table表名;删除表的描述、完整性约束、索引、相关的权限
truncate table表名;删除全部数据,只留表结构,立刻释放磁盘空间
delete from表名;删除全部数据,只留表结构,对于MyISA会立刻释放磁盘空间,Innodb不会释放磁盘空间

满足条件记录
delete from表名where条件;

查看

满足条件的记录
select 字段名列表 from 表名 where 条件;

某数据库中的所有表
show tables;

创建的表
show create table 表名;

表结构
desc 表名;

表中部分列
select 字段名列表 from 表名;

某数据表中的所有记录
select * from 表名;

约束

约束
主键primary key
唯一unique
非空not null
默认值default
自增长auto increment
外键foreign key

插入

单行记录
insert into 表名 (列名) values (对应值列表);

多行记录
insert into 表名 (列名) values (值列表1),(值列表2),(值列表3),… (值列表n):
★批量插入

将现有的数据添加到已存在的表中
insert into表名 (列名) select (列名) from 源表名 where 条件;

查询

简单查询
select <列名> from <表名>【where <查询条件表达式>】【order by<排列的列名>【asc或desc】】;

条件查询
select <列名> from <表名> where <查询条件表达式>;

和查询相关的sql内置的函数
方法:
max(); 求一个字段中数据的最大值
min(); 求一个字段中数据的最小值
avg(); 求一个字段的数据的平均值
sum(); 求一个字段所有数据的和
count(*); 统计当前表中数据有多少个

别名
AS别名(或使用空空格定义别名)
语法:select 字段名1 AS 别名,字段名2 AS 别名…from 表名;

运算符:
where 字段 运算符 值
= > < != >= like
逻辑运算符
and (&&) or (||)
like关键 模糊匹配
where 字段 like “%值%”;
between and 查询在两个值中间
where 字段 between 值1 and 值2;

Limit限定查询返回行
概念:LMT限定查询一般和数据查询排序结合使用,来对排序好
的数据取前面一定数量的结果
语法:limit【位置偏移量】行数;
limit 必须在where 和 order by的后面

关键词DISTINCT用于返回唯一不同的值
语法:select distinct字段名称from表名称;

分组统计
group by
GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
使用group by的时候 需要对分组之后的数据进行筛选 使用having 不能where

单列排序
Order by 排列概念:
按照表中的某一个列进排序,即ORDER BY子句后面只有一个列名
语法:
select * from 表名 order by 字段名;
多列排序
概念:多列排序是指按照表中的多个列进行排序,即ORDER BY子句后面跟多个字段名
from 表名 order by 字段1 desc|asc,字段2desc|asc,…;
当where和order by 一起使用的时候 where 必须在order by的前面

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值