一 数据库定义语言:简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等。
1.1 DDL之数据库操作
a, 创建数据库并指定编码
create database 数据库名 charset set utf8mb4;
b 查看数据库
show databases;
c 查看某个数据库定义信息
show create database 数据库名;
d 查看正在使用的数据库
select database();
e 切换数据库
use 数据库名;
f 删除数据库
drop database if exists 数据库名;
1,2DDL 之 表操作
a:创建表
create table 表名(
字段名 类型 [ 约束]
):
类型:
整形 :int
浮点型:float
日期:date
字符串:varchar(n)
约束:
primary key
b 查看所有的表
show tables;
c 查看表结构:
desc 表名;
d 修改表结构
alter table 表名 add 列名 类型(长度)[约束] ------添加列
alter table 表名 change 旧列名 新列名 类型 长度 约束----修改列名
alter table 表名 modify 列名 类型 长度 约束 --------修改列的类型及长度
alter table 表名 drop 列名 ------删除列
alter table 表名 drop 列名
rename table 表名 to 新表名
alter table 表名 charset set 字符集 —修改表的字符集


DML数据操作语言
1 插入表记录:insert
向表中插入某些字段
insert into 表(字段1 ,字段2) values(值1 ,值2);
向表中插入所有字段的顺序创建表时的顺序
insert into 表 values (值1 值2);
注意:
值与字段必须对应,个数相同,类型相同。
值的数据大小必须在字段的长度范围内。
除了数值类型外,其它的字段类型的值必须使用引号引起(建议单引号)。
如果要插入空值,可以不写字段,或者插入 null。
2 update
update 表名 set 字段名=值, 字段名=值,…where 条件
注意:
列名的类型与修改的值要一致。
修改值得时候不能超过最大长度。
除了数值类型外,其它的字段类型的值必须使用引号引起(建议单引号)。
3.delete
delete from 表名 where 条件
truncate table 表名
delete ----一条一条的删除 不清空auto_increment记录数
truncate ----直接将表删除 重新建表
三 Dcl 语言
四 DQL
1.简单查询
select price from 表名;
2 去重查询
select distinct price from product;
3 运算查询
select price+2 from product;
4 别名查询
select price from product as p;---------表别名
select pname as pn from product;-------列表名

5 比较运算符

  <  <=      >=  =  <>    !=

大于、小于、大于(小于)等于、不等于
1
2
BETWEEN …AND… 显示在某一区间的值(含头含尾)
IN(set) 显示在in列表中的值,例:in(100,200)
LIKE ‘张pattern’ 模糊查询,Like语句中,%代表零个或多个任意字符,_代表一个字符,
例如:first_name like ‘_a%’;
IS NULL 判断是否为空;非空:IS NOT NULL

6 逻辑运算符
and 多个条件同时成立
or 多个条件任一成立
not 不成立,例:where not (salary>100);
7 排序
select * from 表名 order by 排序字段 desc;
desc :降序
asc:升序

select distint price from product order by price desc;
8 聚合函数

count():统计指定列不为null的记录行数;
sum():计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;
max():计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;
min():计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;
avg():计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;
9 分组
select 字段1 ,字段2 from 表名 where 条件 group by 分组字段 having 条件;
having 和where 的区别
having 是在分组后完成的
where 是在分组前对数据进行过滤 后面不可以使用分组函数
10 分页查询
select 字段 1 ,字段2, from 表名 limit m,n;
m: 表示从第几条索引开始 计算方式
n:整数 表示 查询多少条数据
11 主键约束
主键约束
主键必须包含唯一的值。
主键列不能包含 null 值。
每个表都应该有且只能有一个主键。

添加主键约束

方式一:创建表时,在字段描述处,声明指定字段为主键

create table persons
(
id int(11) primary key
);
1
2
3
4
方式二:创建表时,在constraint约束区域,声明指定字段为主键

格式:[constraint 名称] primary key (字段列表)
关键字constraint可以省略,如果需要为主键命名,constraint不能省略,主键名称一般没用。

字段列表需要使用小括号括住,如果有多字段需要使用逗号分隔。
注:声明两个以上字段为主键,我们称为联合主键。

create table persons
(
firstname varchar(255),
lastname varchar(255),
address varchar(255),
constraint personid primary key (firstname, lastname)
);

create table persons
(
firstname varchar(255),
lastname varchar(255),
primary key (firstname)
);

方式三:创建表之后,通过修改表结构,声明指定字段为主键:

alter table persons add [constraint 名称] primary key (字段列表);
删除主键约束

alter table persons drop primary key;
自动增长列类型必须是整形,自动增长列必须为键(一般是主键)。

create table persons(id int primary key auto_increment);
默认地,auto_increment 的开始值是 1,如果希望修改起始值
alter table persons auto_increment=100;
唯一约束
unique 约束唯一。
unique 和 primary key 约束均为列或列集合提供了唯一性的保证。
primary key 拥有自动定义的 unique 约束。

请注意,每个表可以有多个 unique 约束,但是每个表只能有一个 primary key 约束。
如需删除约束,请使用下面的 sql:

alter table persons drop index名称

如果添加唯一约束时,没有设置约束名称,默认是当前字段的字段名。

唯一约束与主键约束的区别:
唯一:唯一、可以有空值,但只能有一个空值。一个表可以有多个唯一约束。
主键:唯一、不能为空、一个表只能有一个主键,非业务数据
12 多表联查
a 交叉查询
select * from a,b;
b 内 连接查询
隐式内连接
select * from a,b where 条件;
显式内连接
select * from a inner join b on 条件;
c 外连接
左外连接
select * from A left outer join b on 条件;
右外连接
select * from a right outer join b on 条件;
13 子查询
select 查询字段 from 表 where 查询条件

sql语句分类(附mysql实操语句)相关推荐

  1. MySQL 到 SQL Server 实时数据同步实操分享

    摘要:很多 DBA 和开发同学经常会遇到要从一个数据库实时同步到另一个数据库的问题,同构数据还相对容易,遇上异构数据.表多.数据量大等情况就难以同步.最近了解到一款实时数据同步工具 Tapdata C ...

  2. 零基础班第六课 - MySQL实操(一)

    创建新DB和新用户&Dbeaver链接 字段类型 SQL语句分类 创建删除表&增删改查 SQL一 一.创建新的DB和新用户&Dbeaver链接 楼主Linux上使用的MySQL ...

  3. 一份风控模型性能提升秘籍奉上|附视频+实操(详版)

    最近,番茄星球课堂为大家带来了一次主题为"信贷风控拒绝演绎实战"的直播课盛宴,内容充实,干货满满! 课程分为两次专题展开,分别为<拒绝推论场景描述.方法介绍与案例分享> ...

  4. mysql 中的判断语句怎么写,mysql中判断语句如何写

    mysql中判断语句如何写 发布时间:2020-09-24 09:08:29 来源:亿速云 阅读:77 作者:Leah mysql中判断语句如何写?针对这个问题,这篇文章详细介绍了相对应的分析和解答, ...

  5. 循环卷积的计算方法:对位相加-附Matlab实操代码

    目录 1.循环卷积原理 2.循环卷积与线性卷积的联系 3.对位相加法计算循环卷积 4.Matlab 实操 4.1源代码 4.2仿真结果 循环卷积原理 设x(n)和h(n)是两个长度分别为N和M的有限长 ...

  6. SQL 语句大全、MySQL原生操作语句

    一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server ---  ...

  7. mysql实操《学生表》

    第一步,创建所需要的的表信息 1.创建学生表和添加所需要的信息 Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生 ...

  8. mysql 查询语句_SQL语言mysql基础查询语句

    单表查询.条件查询.查询并排序.限制结果查询.查询并排名.分组聚合查询.······ -- DQL操作,数据基本查询语言使用-------------------------------------- ...

  9. mysql中select语句子句,了解mysql中select语句操作实例

    Select的语法 SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] ...

最新文章

  1. Invoke()/BeginInvoke()区别
  2. Deep Learning论文笔记之(八)Deep Learning最新综述
  3. 快慢指针寻找循环节点
  4. java循环遍历类属性_java循环遍历类属性 get 和set值方法
  5. 斯坦福华人教授:声波、光波,其实都是RNN!机器学习模型对应
  6. 【详谈 Delta Lake 】系列技术专题 之 湖仓一体( Lakehouse )
  7. python getattr函数_Python中的getattr()函数详解
  8. html5视差滚动效果,视差滚动效果
  9. 怎样才能恢复误删的数据-免费版本
  10. 《现代操作系统(中文第四版)》笔记 第一章 引论
  11. 【回归预测-LSTM预测】基于布谷鸟算法优化LSTM实现数据回归预测含Matlab代码
  12. 南通大学计算机学院本科考研,南通大学各学院2021考研分数线已公布
  13. 360小程序搭载浏览器,再创PC时代又一春
  14. 数据仓库中历史拉链表的更新方法
  15. 关于阿里云服务器购买和域名购买的相关流程
  16. Python+Excel数据分析实战:军事体能考核成绩评定(一)项目概况
  17. 几百块的投影仪靠谱吗?性能怎么样?
  18. 2006设计师必备网址全集
  19. 电脑c盘满了怎么清理,快速清理,用这5招
  20. 三人行SEO教程免费公开下载-学点啥收集整理

热门文章

  1. 图书管理系统 (大一小白级别)
  2. Cocos Creator 开发入门
  3. 宝塔部署网站无法访问
  4. 数据结构:假设有一个带头结点的单链表L,每个结点值由单个数字、小写字母和大写字母构成。设计一个算法将其拆分成3个带头结点的单链表L1、L2和L3,L1包含L中的所有数字结点,L2包含L中的所有小写字母
  5. window10无法访问局域网共享文件夹
  6. SQL员工基本工资表题目及答案
  7. Invalid byte tag in constant pool 19
  8. 决策树之五:连续变量计算过程
  9. 小米基于OpenStack搭建私有云平台技术架构大揭秘!
  10. 5分钟python爬虫案例,手把手教爬取国内外最新疫情历史数据