入门必学的sql语句
1.sql简介
数据存放在数据中,SQL是用于访问和处理数据库的标准的计算机语言,SQL是
Structured Query Language 的缩写,是指结构化查询语言。
特点:
- 简单易学
- 功能强大
- 只说明要做什么,不说明如何做
- 标准化,几乎所有的关系数据库都通用
- 不区分大小写
在黑窗口打开MySQL的语句:
mysql -u root -p
如果你已经装好环境变量可以直接用:
2.查看数据
show databases;查看所有数据库
show tables;查看所有表
desc 表名;查看表结构
3.create创建
create table创建表
指定数据库create table 表名(字段名1.数据类型(长度),字段2.数据类型(长度),....);
创建数据库
create database 数据库名
设置字符集为utf-8
charset utf-8
4.insert插入
insert语句用于向表中插入新记录,它有两种写法:
第一种写法:为表中的所有字段添加值时不需要字段名称,但要确保值的顺序与表中的字段顺序相同,语法:
insert into 表名 values(字段1的值,字段2的值,字段3的值,......);
第二种写法:为指定的字段插入数据时,要把字段名和字段值列出,并一 一对应,语法:
insert into 表名(字段1,字段2,字段3,......)valuse(字段1的值,字段2的值,字段三的值,......);
5.primary key表的主键
主键的作用
主键的全称是主键约束,表的主键由表中的一个字段或多字段组成,主键唯一代表表中一条记录,关系数据库中通常每个表都有一个主键
没有主键的表通常是不严谨的设计的,主键的特点:
每个表中只能定义一个主键
主键值必须唯一标识表中的每一记录,且不能为null,即表中不可能存在有相同主键值的两条记录。
一个字段名只能在联合主键字段中出现一次。
联合主键不能包括不必要的多余字段,当把联合主键的某一字段删除后,剩下的字段不能唯一代表一条记录
6.select查询
select的写法
查询表中所有的字段:
select * from表名;
查询表中指定的字段:
select 字段1,字段2 from 表名;
7.distinct去重复值
distinct 的用法
同一字段中可能会出现重复值,使用关键词distinct可以去掉重复值,用法:
select distinct 字段名 from 表名;
8.where条件过滤
where的用法
如果需要从表中选取指定的数据,可将where子句添加到select语句,语法:
select 字段名 from 表名 where 字段 运算符 值;
where子句中的运算符
- 运算符 说明
- = 等于
- <>或!= 不等于
- > 大于
- < 小于
- >= 大于等于
- <= 小于等于
9.like的用法
在where子句中使用like运算符来搜索匹配字符串中的指定模式,百分号(%)
(字段名%)匹配字段名在前面的
(%字段名)匹配字段名在后面
(%字段名%)匹配字段名在中间的
匹配零个,一个或多个字符。语法:
select 字段名 from 表名 where 字段 like 字符串;
10.and和or运算符
and和or 可以用在where子句中把两个或多个条件结合起来,and运算符要求两个条件
都成立;or运算符要求两个条件中只要一个成立即可,语法:
select 字段名 from 表名 where 字段n 运算符 值n and|or 字段m 运算符 值m;
11.in匹配多个值
in的用法
in运算符是在where子句中指定多个搜索条件可以匹配的值,in运算符实际是多个or条件的合并,语法:
select 字段名 from 表名 where 字段名 in (值1,值2,......);
也可以用 not in去除不需要的值
select 字段名 from 表名 where 字段名 not in (值1,值2,.....);
12.between指定范围
between的用法
between运算符用于选取介于两个值之间的数据范围内的值,这些值可以是数字,字符串或日期,between运算符包括开始和结束值,相当于>=and<=
语法:
select 字段名 from 表名 where 字段名 between 值1 and 值2;
也可以使用not between 选取范围不介于这个之间
select 字段名 from 表名 where 字段名not between 值1 and 值2;
13.order by排序
order by用法
order by用于结果集进行排序,默认按升序(asc)进行排序,也可以指定desc按降序对结果集进行排序,语法:
select 字段名 from 表名 order by 字段1,字段2,....asc|desc;
14.update更新数据
update用法:
update 语句用法更新表中的记录,语法:
update 表名 set 字段1=值1,字段2=值2 ,...where 子句;
注意!:where 子句指定哪些记录需要更新, 如果省略where 子句,表中的所有记录都将更新!!!
15.delete删除数据 drop 删除数据库
delete用法
delete语句用于删除表中的记录,语法:
delete from 表名 where 子句;
注意!: where子句指定哪些记录需要删除,如果省略where子句,表中的所有记录都将删除。
drop 删除数据库
语法:
drop database 数据库名
16.index索引
index的用法
索引可以提高访问数据的速度,创建索引的语法:
create index 索引名 on表名(字段1,字段2,....)
使用索引时sql语句的语法和不使用索引并没有任何不同,sql语法会自动使用索引提高访问数据的速度
17.view视图
view的用法
视图是基于sql语句的结果集的可视化表,视图中的字段就是来自一个或多个数据库中的真实的表中的字段。
视图总是显示当前的数据,每当用户查询视图时,数据库引擎通过使用sql语句来重建数据
创建视图语法:
create view 视图名 as select语句;
18.null值
null值的用法
null值代表遗漏的未知数据,它的作用是未知的或不适应的占位符,
如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况插入新记录或更新已有的记录,这意味着该字段将以null值保存,
字段值是否是null的判断不能用=或者<>进行,要用is null或者is not null进行。
19.字段和表的别名
字段和表的别名用法
作用
在sql语句中可以为表名或字段名指定临时使用的别名(Alisa),别名只在当前的sql语句中生效,它通常比字段名更具有可读性,
别名有以下应用场景;
-字段名长或可读性差时
-涉及多个表,而且多个表中有相同的字段名时
-代表查询函数的结果
别名的语法:
select 字段名 别名 from 表名 别名;
20.join连接
join用法
join连接是基于多表之间的共同字段把它们结合起来查询的一种方法,连接分为以下几种:
内连接(inner join)列出两个表中都存在的记录
左连接(left join)即使没有匹配也列出左表中的所有记录
右连接(right join)即使没有匹配也列出右表中的 所有记录
语法:
select 字段名 from 表1 join 表2 where子句;
21.SubQuery子查询
subquery子查询用法
子查询也称嵌套查询,是一种嵌套在其他sql语句的where 子句中的查询,子查询用于为主查询返回其所需数据,或者对检索数据进行进一步的限制,语法:
select 字段1,字段2,...from 表名 where 字段名 操作符(子查询);
22.sql常用函数
count函数
count函数是统计符合条件的 记录
count(*)统计表中的记录总数
count(字段名)统计指定字段不为null的记录数
max函数
max函数返回所选的最大值,
用法是max(字段名)
min函数
min函数返回所选的最小值,
用法是min(字段名)
avg函数
avg函数返回所选的平均值,
用法是avg(字段名)
sum函数
sum函数返回所选的合计值,
用法是sum(字段名)
23.group by分组
group by分组用法
group by语法用于结合统计函数,根据一个或多个列对结果集进行分组,语法:
select 字段名,统计函数from 表名 where 子句 group by字段名;
24.having过滤
having 过滤分组用法
having子句和where子句类似,都是对查询的结果进行过滤,它们的过滤对象不同,where 子句对被选择的列进行过滤,
而having子句则对group by子句所产生的组进行过滤。句法:select 字段名,统计函数 from 表名子句 group by字段名 having 统计函数 运算符 值;
常用数据类型 | 说明 |
int | 整数类型 |
char(n) | 字符/字符串,固定长度n |
varchar(n) | 字符/字符串,可变长度,最大长度n |
numeric(a,b) | 精确数据,总位数a,小数点后位数b |
date | 存储年,月,日的值 |
把这些记下来就可以度过小白阶段了!!!
加油!!!!
入门必学的sql语句相关推荐
- 入侵必学:SQL语句大全
SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:/test.xls";User I ...
- 【笔记-java】java工程师-入门必学
路径 目录 子目录 重点 课程名 备注 java工程师 入门必学 语法基础 环境搭建.开发工具使用.基础语法 java入门第一季 面向对象 继承.封装.多态 java入门第二季 常用工具类 异常.字符 ...
- [新手必备]Python 基础入门必学知识点笔记
Python 作为近几年越来越流行的语言,吸引了大量的学员开始学习,为了方便新手小白在学习过程中,更加快捷方便的查漏补缺.根据网上各种乱七八糟的资料以及实验楼的 Python 基础内容整理了一份极度适 ...
- ue4导入倾斜摄影_倾斜摄影入门必学|Context Capture建模软件工作流程
对于一个典型的 倾斜摄影入门必学|Context Capture建模软件工作流程www.swqy3d.com 来讲,分为了如下几步:1 新建项目后导入照片.POS.点云等数据.①导入照片 ②当你新建 ...
- mysql语句engin_MySQL必会的SQL语句
本文谈谈MySQL的开发必会的sql语句 创建数据库 create database db1; 删除数据库 drop database db1; 创建数据表 create table tb1用户表( ...
- 深度学习入门必学(第三篇:循环神经网络01)
深度学习入门必学(第三篇:循环神经网络01) 一,第三篇:循环神经网络01 来自 一,第三篇:循环神经网络01
- zbrush常用笔刷_【建模】新手入门必学,ZBrush中常用笔刷简介!
原标题:[建模]新手入门必学,ZBrush中常用笔刷简介! 单击左托盘的笔刷图标,弹出一个笔刷库,其中有许多常用笔刷,这也是许多初学者所头疼的问题,zbrush的笔刷非常多,而且功能很强大,好多朋友不 ...
- 数控机床坐标的介绍,通俗易懂,新手入门必学!
数控机床坐标的介绍,通俗易懂,新手入门必学! 1.机床坐标系的定义 在数控机床上加工零件,机床的动作是由数控系统发出的指令来控制的.为了确定机床的运动方向和移动距离,就要在机床上建立一个坐标系,这个坐 ...
- 入门必学 | R语言数值型、字符型及因子型数据之间的差异与转换
字符型.数值型及因子型数据之间的转换 数据类型的基本知识 不同数据类型之间的差异 数值型与字符型或因子型绘图时的差异 数值型与因子型和字符型的模型构建时的差异 三种数据类型之间进行转换 常用的三 ...
最新文章
- oracle数据库中insert,【Oracle】sql插入之 insert all、insert first
- 如何在AxureRP7中使用FontAwesome字体
- 【干货】Sketch+Keynote双剑合璧:5步快速制作移动动效
- POJ - 2201 Cartesian Tree(笛卡尔树-单调栈/暴跳父亲)
- php com word,php 调用 com组件,进行word操作,详情步骤
- php 检查路劲是否存在,php 检查文件或目录是否存在代码总结
- 天气暖和了,我却感冒了
- [译] 或许你并不需要 Rust 和 WASM 来提升 JS 的执行效率 — 第二部分
- java 8 64位官方下载_Java 8下载 Java 8.0U181官方正式版(32位/64位) 下载-脚本之家
- 基于单片机的银行排队叫号系统的设计
- SiT1532:1508小封装尺寸,低功耗32.768KHz有源晶振
- fragment 淡入淡出_一种模型淡入淡出时透明面重叠问题的解决方案
- 用计算机怎么管理小米路由器,小米路由器电脑怎么设置_小米路由器怎么用电脑设置?-192路由网...
- 旅美见闻:美国贫民百姓众生相
- Php实现Facebook app端web网页登陆功能
- R语言 最小二乘法OLS的运用
- 专题:2019世界移动通信大会(MWC)精彩纷呈,中国企业各出大招
- statusBar控件
- OTN电层的保护SNCP保护详解
- 22年5月14日面试随笔
热门文章
- signature=d363d26bda212f777fef81d270ecd42b,基于DNA-pooling全基因组重测序初步筛查CAD易感基因变异位点...
- 技术探讨之请教方舟编译器的十个问题
- Python中的base64、base32实例
- Android 系统背光设置
- 人生若只如初见时[收藏]
- 超温及降温报警器电路设计_报警电路图讲解
- 19.制作自动切换滚动的图片轮播
- 微服务--Gateway--服务网关
- Java 中finalize()方法起什么作用呢?
- 〖Web全栈开发③〗—HTTP协议和静态web服务器