zoukankan      html  css  js  c++  java
  • 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;

  • 相关阅读:
    2021.11.20 MapReduce实验
    Linux串口应用编程
    Linux系统中的TTY
    69 进程创建的优化设计 上
    71 键盘驱动程序设计(上)
    有关EXPORT_SYMBOL_GPL
    73 键盘驱动程序设计(下)
    72 键盘驱动程序设计(中)
    本地maven打包无法被导入
    java 8 Stream 递归实现树形结构
  • 原文地址:https://www.cnblogs.com/qq765065332/p/7574250.html
Copyright © 2011-2022 走看看