约定:数据库名: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基础语法复习的更多相关文章

  1. sql基础语法复习(二)-- 分组,连接的使用

    一.深入学习  group by group by ,分组,顾名思义,把数据按什么来分组,每一组都有什么特点. 1.我们先从最简单的开始: select count(*) from tb1 group ...

  2. 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 ...

  3. SQL基础语法笔记教程整理

    PS:本文适用SQL Server2008语法. 一.关系型数据库和SQL 实际上准确的讲,SQL是一门语言,而不是一个数据库. 什么是SQL呢?简而言之,SQL就是维护和使用关系型数据库中的的数据的 ...

  4. SQL 基础语法笔记教程整理

    最近从图书馆借了本介绍 SQL 的书,打算复习一下基本语法,记录一下笔记,整理一下思路,以备日后复习之用. PS:本文适用 SQL Server2008 语法. 首先,附一个发现的 MySQL 读书笔 ...

  5. Spring mybatis源码篇章-动态SQL基础语法以及原理

    通过阅读源码对实现机制进行了解有利于陶冶情操,承接前文Spring mybatis源码篇章-Mybatis的XML文件加载 前话 前文通过Spring中配置mapperLocations属性来进行对m ...

  6. SQL基础语法(二)

    SQL SELECT 语句 本章讲解 SELECT 和 SELECT * 语句. SQL SELECT 语句 SELECT 语句用于从表中选取数据. 结果被存储在一个结果表中(称为结果集). SQL ...

  7. 编程类-----matlab基础语法复习(1)

    2019年美赛随笔记录: 具体功能:基础语法+基本运算+画图+矩阵+excel读取....... 所遇问题及其解决方案:         1.   que:matlab中plot画图无法复制下来图片? ...

  8. SQL基础语法提纲

    一.SQL需知5点 1.SQL是Structured Query Language的缩写,是用来访问关系型数据库的,非过程化的,高级编程语言. 2.SQL具有语法高度综合统一,高度的非过程化,对集合进 ...

  9. sql基础语法大全 转载过来的,出处忘了!

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

随机推荐

  1. Vim 基本設置 – 使用Vim-plug管理插件 (3)【转】

    本文转载自:https://staryoru.github.io/vim-plugin-manager/ Vim中有很多非常好用的插件(plugin),對於這些插件的安裝.更新與移除等等,使用一個插件 ...

  2. svn的分支

    svn的分支使用 新建一个项目的时候,选择建立自带trunk,branches和tags文件夹的. 其中trunk作为主开发. 有需要的时候,从trunk创建分支到对应的branches下面,新建分支 ...

  3. 素数分布 - nefu 117

    素数个数的位数 - nefu 117 普及一个公式: 位数公式:要求一个数x的位数,用公式:lg(x)+1 素数分布:n/ln(n) 所以直接求解n/ln(n)的位数就可以了 代码如下: #inclu ...

  4. Python学习札记(二十) 函数式编程1 介绍 高阶函数介绍

    参考: 函数式编程 高阶函数 Note A.函数式编程(Functional Programming)介绍 1.函数是Python内建支持的一种封装,我们通过一层一层的函数调用把复杂任务分解成简单的任 ...

  5. SpringBoot项目结构介绍

    一项目结构介绍 springboot框架本身对项目结构并没有特别的要求,但是按照最佳的项目结构可以帮助我们减少可能遇到的错误问题.结构如下: (1)应用主类SpringbootApplication应 ...

  6. MATLAB 2014a (8.3) Compiler Runtime (MCR)

    在安装的时候可以 ./install -H 界面化安装到自己目录下 MATLAB 2014a (8.3) Runtime Compiler (MCR) Errors when trying to la ...

  7. struts2中<s:checkboxlist/>的用法详解

    Html代码 选择角色<br> <s:checkboxlist list="#request.roleuserList" listKey="roleId ...

  8. C++实现矩阵压缩

    C++实现矩阵压缩 转置运算时一种最简单的矩阵运算.对于一个m*n的矩阵M,他的转置矩阵T是一个n*m的矩阵,且T(i,j) = M(j,i). 一个稀疏矩阵的转置矩阵仍然是稀疏矩阵. 矩阵转置 方案 ...

  9. 2.SpringMVC源码分析:DispatcherServlet的初始化与请求转发

    一.DispatcherServlet的初始化 在我们第一次学Servlet编程,学java web的时候,还没有那么多框架.我们开发一个简单的功能要做的事情很简单,就是继承HttpServlet,根 ...

  10. 13.LockSupport工具

    1. LockSupport简介 在之前介绍AQS的底层实现,已经在介绍java中的Lock时,比如ReentrantLock,ReentReadWriteLocks,已经在介绍线程间等待/通知机制使 ...