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”…);

Oracle,  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;

 

相关文章