sql的基本知识
一、什么是sql?
全称:“结构化查询语言(Structured Query Language)”,是1974年由Boyce和Chamberlin提出来的,现已经成为关系数据库的标准语言。
组成:DDL数据定义语言,用来建立数据库,数据库对象,和定义其列,大部分是以create开头的命令。
DQL:数据查询语言,用来对数据库进行查询,如select等。
DCL:数据控制语言,用来控制数据库组件的存取许可、存取权限等、如grant、remove等。
DML:数据操作语言,用来插入、修改和删除数据库的数据,如insert、update及delete等。
二、DML语句
①y使用DML插入数据
1、插入单行数据
insert into 表名(字段名列表) values(值列表);
2、插入多行数据
insert into 表名(字段名列表) values(值列表1),~~~~~ values(值列表n);
3、查询结果插入新表
cteate table 表名(select 字段1,字段2,。。。字段n from 原表);
②使用DML修改数据
update 表名 set 列名=更新值 where (更新条件);
③使用DML删除数据
delete from 表名 where(删除条件);#不可以删除整个列,所以不能在from前面加字段名。
truncate table 表名 where(删除条件);#执行速度比dele快,删除后表列表的序号会重新开始编号。
五、DQL
1、查询语句
select <列名》
from <表名>
where <查询条件>
order by <排序的列名> ASC(升序) 或者 DESC(降序);
①查询所有数据的行和列
select * from 表名;
②查询部分行或者列
select <列名1,~~~~列名n>
from 表名
where <条件语句>;
条件语句中’=‘表示是,'<>'表示不是;
③查询中使用列的别名(AS的用法)
如:select studentNo AS 学生编号,name AS 姓名
from student
where address <> '河南新乡';
合并两列使用别名
select firstName +'.'+lastName AS 名字 from 表名;
2、常用函数
①聚合函数
avg()返回某字段的平均值;
count() 返回某字段的行数;
max()返回某字段的最大值;
min()返回某字段的最小值;
sum()返回某字段的和;
②字符串函数
concat(str1,...strn) 连接字符串str1、。。。strn为完整的一个字符串。
insert(str,pos,len,newstr)将字符串str从pos位置开始,len个字符长的字串替换为字符串 newstr
lower(str)将字符串str中所有字符串变为小写。
upper(str)将字符串str中所有的字符串变为大写。
substring(str,num,len)返回字符串str的第num个位置开始长度为len的子字符串。
③时间日期函数
curdate()获取当前日期;
curtime()获取当前时间;
now()获取当前日期和时间;
week(date)返回日期date为一年中的第几周
year(date)返回日期date的年份
hour(date)返回日期date的小时
minute(date)返回日期date的分钟值
datediff(date1,date2)返回日期参数date1和date2之间相隔的天数
adddate(date,n)计算日期参数date加上n天之后的日期
④数学函数
ceil(x)返回大于或等于数值x的最小整数
floor(x)返回小于或等于数值x的最大整数
rand(x)返回0~1间的随机数
3、order by
order by asc(desc)进行排序,默认是生序排列。
4、limit 子句
limit 位置偏移量,行数
位置偏移量指从结果集中第几条数据开始显示,(第1条记录的位置偏移量是0,第二条记录的位置偏移量是1,。。。也就是说是翻页显示第二页之类用的)当省略时从第1条记录开始显示。
行数指显示记录的条数。
六、子查询
1、简单子查询
select .....from 表名 where 字段1 比较运算符 (子查询);
如 :select studentNo,name,sex,borndate,address from student where borndate>(select borndate from student where name='小强');
比较运算符包括:>、=、<、>=、<=.
注意:子查询和比较运算符联合使用,必须保证子查询返回值不能多于一个。
2、in、not子查询
子查询返回值可以是多个,not in表示非的意思。
sql的基本知识的更多相关文章
- SQL server基础知识(表操作、数据约束、多表链接查询)
SQL server基础知识 一.基础知识 (1).存储结构:数据库->表->数据 (2).管理数据库 增加:create database 数据库名称 删除:drop database ...
- Sql Server 基础知识
Sql Server 基础知识: http://blog.csdn.net/t6786780/article/details/4525652 Sql Server 语句大全: http://www.c ...
- SQL数据库基础知识-巩固篇<一>
SQL数据库基础知识-巩固篇<一>... =============== 首先展示两款我个人很喜欢的数据库-专用于平时个人SQL技术的练习<特点:体积小,好安装和好卸载,功能完全够用 ...
- SQL语句之 知识补充
SQL语句之 知识补充 一.存储过程 运用SQL语句,写出一个像函数的模块,这就是存储过程. 需求: 编写存储过程,查询所有员工 -- 创建存储过程(必须要指定结束符号) -- 定义结束符号 DELI ...
- 转:sql server锁知识及锁应用
sql server锁(lock)知识及锁应用 提示:这里所摘抄的关于锁的知识有的是不同sql server版本的,对应于特定版本时会有问题. 一 关于锁的基础知识 (一). 为什么要引入锁 当多个用 ...
- Sqli-labs之sql注入基础知识
(1)注入的分类 基于从服务器接收到的响应 ▲基于错误的SQL注入 ▲联合查询的类型 ▲堆查询注射 ▲SQL盲注 •基于布尔SQL盲注 •基于时间的SQL盲注 •基于报错的SQL盲注 基于如何处理输 ...
- 【SQL】- 基础知识梳理(二) - SQL简介
一.引言 在梳理这些知识之前,说实话,如果有人问我SQL是什么?我可能会回答就是“INSERT,DELETE,UPDATE,SELECT”语句呗,还能是啥. 二.SQL概念 SQL是什么? SQL是S ...
- 【SQL】- 基础知识梳理(一) - 数据库
一.引言 知识分享这个事情在公司会议上被提出过几次,可一直因各种事情耽搁下来,“我不如地狱,谁入地狱”,怀着这样一种心态,写下了 数据库系列知识分享. 本文将一步步通过循序渐进的方式带你去了解数据库. ...
- SQL Server群集知识介绍
集群CLUSTER种类介绍 基于iSCSI的SQL Server 2012群集测试(一)--SQL群集安装 SQL Server群集如何在线检测 群集中的MS DTC分布式事务协调器 一.SQL Se ...
- SQL Server基础知识
1.SQL Server表名为什么要加方括号? 这个不是必须要加,但表名或字段名如果引用了sqlserver中的关键字,数据库会不识别这到底是关键字还是表名(或字段名)时就必须要加. 比如,一个表名叫 ...
随机推荐
- 移动商城第四篇【Controller配置、添加品牌之文件上传和数据校验】
Controller层配置 编写SpringMVC的配置文件 springmvc.xml <?xml version="1.0" encoding="UTF-8&q ...
- MyBatis学习(五)resultMap测试
resultMap是MyBatis最强大的元素,它的作用是告诉MyBatis将从结果集中取出的数据转换成开发者所需要得对象. 接下来我们对resultMap进行一个简单测试.(当所需要返回的对象是一个 ...
- APPScan安装与使用教程
一.安装 1.右键安装文件,以管理员身份运行,如下图所示: 2.点击[确定] 3.点击[安装] 4.选择:我接受许可协议中单位全部条款,点击[下一步] 5.点击[安装]到该目录 6.如果需求扫描Web ...
- JavaScript基礎知識
JavaScript基礎知識 1.標籤組使用 <script charset='utf-8' //設置字元集 defet //使腳本延遲到文檔解析完成,Browser已忽略 language=' ...
- java中Set类接口的用法
在Java中使用Set,可以方便地将需要的类型,以集合类型保存在一个变量中.主要应用在显示列表. Set是一个不包含重复元素的collection.更确切地讲,set 不包含满足 e1.equals( ...
- jquery实现点击div外隐藏div
html <div style="width:100px;height:100px;border:1px solid #ff0" id="div"> ...
- 渣渣学QT
初学QT,自己的一些小总结,错误之处,望大神指点一二: 1,添加资源文件时想应用在界面的背景,但是发现用不了,后来才知道是没有"构建"?应该是要在构建之后才将所添加的资源文件真正的 ...
- 使用python操作mysql
版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖.如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/p/7643047.html 作者:窗户 Q ...
- 简单Elixir游戏服务器开篇
以前的Elixir游戏服设计系列种种原因没有完成. 后来虽然用Elixir + riak 完成了一个麻将的初始版本,可惜公司也挂了. 现在到新公司,比较空闲,想着像完成一个心愿一样,还是重启下吧(希望 ...
- Mysq基础
本文是之前看博客时候的记录,忘记是哪位仁兄的了,在这只做一次转载: 常见误区 count(1)和count(primary_key) 优于 count(*) 很多人为了统计记录条数,就使用 count ...