sql基础语法复习
约定:数据库名:test;表名:tb1,tb2,tb3…;
对象:数据库:database 表:table 列:column 索引:index 视图:view 存储过程:procedure
一、数据结构操作
新增:create 删除:drop 查看:show 修改:alter
数据库一般不做修改,数据库改名:rename...to...,但是不推荐使用,有丢失数据的风险。
解决方法:当数据量小时,新建一个数据库,把原数据库的数据导入到新数据库。
当数据量大时,使用shell脚本重命名所有的表。
温馨提示:操作有风险,请你先备份!
例:
1、新增数据库 CREATE DATABASE test;
2、选择数据库 USE test;
3、查看数据库 查看有哪些数据库:SHOW DATABASES; 显示当前使用的数据库:SELECT DATABASE();
4、删除数据库 DROP DATABASE test;
5、新增表 CREATE TABLE tb1(column_name1 datetype);
6、删除表 DROP TABLE tb1;
7、修改表名 ALTER TABLE tb1 RENAME TO new_tb1;
8、已有表中的列操作 新增:ALTER TABLE tb1 ADD column_name string 删除:ALTER TABLE tb1 DROP COLUMN column_name
修改:ALTER TABLE tb1 ALTER COLUMN column_name datatype(SQL/MS Access)
ALTER TABLE tb1 MODIFY COLUMN column_name datatype(My SQL/Oracle)
二、数据操作
新增(插入):insert into(into可省略) table_name()插入数据的表名(指定字段名)(可以不指定字段,数据按列名顺序依次插入) values():插入的数据
insert table_name() values();
修改:update 设置:set
update table_name set column1=value1,column2=value2 where ...
删除:delete 删除某行数据,没有where则删除所有行 误区:删除数据是按行算的,不能说删除某行数据中的某个值,如果要这样做的话要用update把值改为空
delete from table_name where column1=value1;
查找:select...from... 去重:distinct 查询条件:where 多条条件运算符:add/or/between/in 结果集排序:order by...ASC(升序)/DESC(降序)
select distinct column_name from table_name where column_name operator value add/or column_name2 operator value2 order by column_name,column_name2 ASC/DESC;
例:
1、给表1插入一条数据
insert tb1 values("id","name","age","code","class"...);
2、修改表1中名字叫张三的人的学号,改为001
update tb1 set code="001" where name='张三';
3、删除表1中年龄大于22的数据
delete from tb1 where age>22
4、查询表1中年龄等于22岁且名字都叫张三的学生都属于哪些班级并按班级升序
select distinct class from tb1 where age=22 add name='张三' order by class asc;
三、查询详解
1、where条件常用运算符:
=,<>,<,>,<=,>=,between and,in(,,),like,not,add,or
2、like模糊查询常用通配符:
% 替代一个或多个字符
- 公替代一个字符
[charlist] 字符列中的任何单一字符
[!charist]或[^charlist] 不在字符列中的任何单一字符
3、as别名
作用:将结果列改为需要的名称;用别名标识列的来源(来自哪张表);给列的函数结果命名
4、函数
MAX/MIN 最大值/最小值
SUM 合计值
AVG 平均值
COUNT 行数
TOP 返回记录的前几条
GROUP BY 分组
HAVING where不能与group by一起使用,用having来代替where
5、多表查询时,列名要加上表名
select tb1.name,tb2.name,tb3.age from tb1,tb2,tb3;
sql基础语法复习的更多相关文章
- sql基础语法复习(二)-- 分组,连接的使用
一.深入学习 group by group by ,分组,顾名思义,把数据按什么来分组,每一组都有什么特点. 1.我们先从最简单的开始: select count(*) from tb1 group ...
- ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段
ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...
- SQL基础语法笔记教程整理
PS:本文适用SQL Server2008语法. 一.关系型数据库和SQL 实际上准确的讲,SQL是一门语言,而不是一个数据库. 什么是SQL呢?简而言之,SQL就是维护和使用关系型数据库中的的数据的 ...
- SQL 基础语法笔记教程整理
最近从图书馆借了本介绍 SQL 的书,打算复习一下基本语法,记录一下笔记,整理一下思路,以备日后复习之用. PS:本文适用 SQL Server2008 语法. 首先,附一个发现的 MySQL 读书笔 ...
- Spring mybatis源码篇章-动态SQL基础语法以及原理
通过阅读源码对实现机制进行了解有利于陶冶情操,承接前文Spring mybatis源码篇章-Mybatis的XML文件加载 前话 前文通过Spring中配置mapperLocations属性来进行对m ...
- SQL基础语法(二)
SQL SELECT 语句 本章讲解 SELECT 和 SELECT * 语句. SQL SELECT 语句 SELECT 语句用于从表中选取数据. 结果被存储在一个结果表中(称为结果集). SQL ...
- 编程类-----matlab基础语法复习(1)
2019年美赛随笔记录: 具体功能:基础语法+基本运算+画图+矩阵+excel读取....... 所遇问题及其解决方案: 1. que:matlab中plot画图无法复制下来图片? ...
- SQL基础语法提纲
一.SQL需知5点 1.SQL是Structured Query Language的缩写,是用来访问关系型数据库的,非过程化的,高级编程语言. 2.SQL具有语法高度综合统一,高度的非过程化,对集合进 ...
- sql基础语法大全 转载过来的,出处忘了!
一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备 ...
随机推荐
- Python遍历字典dict的几种方法
#!/usr/bin/python dict={"a":"apple","b":"banana","o&quo ...
- <The old man and the sea>
Every day is a new day. It is better to be lucky. But i would rather be exact. Then when luck comes ...
- vue.js的一些小语法v-bind,v-if,v-show,v-else
知识点: v-bind 动态绑定标签属性 v-bind 可简写为 : 使用v-bind 绑定class和内联样式 使用v-if,v-show,v-else进行条件渲染 <template> ...
- Scrapy之Scrapy shell
Scrapy Shell Scrapy终端是一个交互终端,我们可以在未启动spider的情况下尝试及调试代码,也可以用来测试XPath或CSS表达式,查看他们的工作方式,方便我们爬取的网页中提取的数据 ...
- 上采样和PixelShuffle(转)
有些地方还没看懂, mark一下 文章来源: https://blog.csdn.net/g11d111/article/details/82855946 去年曾经使用过FCN(全卷积神经网络)及其派 ...
- kotlin 记录(已弃坑)
kotlin 有些是转载内容 使用nullable值以及空值检测 引用或函数返回值如果可能为null值,则必须显式标记nullable. (在类型后面跟一个问号表示这个对象可能为空,跟两个感叹号表示这 ...
- init() 方法
1 /** * servlet init()在web应用程序启动之后,第一个请求到达Servlet之前调用. * 问题1:如果init()中需要处理大量的工作,那么servlet在处理第一个请求需要花 ...
- thinkphp3.2笔记(1)目录,控制器及url模式,地址解析
一.目录 Application : tp默认的应用代码存储的目录 Public : Tp 默认的存储静态资源的目录,img,css,js ThinkPHP : Tp 框架的源代码 ...
- 【转】Java运行时数据区简介及堆与栈的区别
理解JVM运行时的数据区是Java编程中的进阶部分.我们在开发中都遇到过一个很头疼的问题就是OutOfMemoryError(内存溢出错误),但是如果我们了解JVM的内部实现和其运行时的数据区的工作机 ...
- C++11 auto类型说明符的使用
编程的时候常常需要把表达式的值赋给变量,这就要求在声明变量的时候清楚地知道表达式的类型.然而做到这一点很难,有时候根本做不到.为了解决这个问题.C++11新标准引入了auto类型说明符,用它就 能让编 ...