• SQL语言


    SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
    结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。
    它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。
    SQLSever,Oracle,MySQL等各种数据库系统都采用SQL语言实现数据库操作。
     
     
    建立表语句

    CREATE TABLE TABLENAME (COL_NAME1 TYPE, COL_NAME2 TYPE, ……);

    常用TYPE说明:

    TYPE

    说明

    INT

    整数

    CHAR(LENGTH)

    定长字符串,短于指定长度用空格填充

    VARCHAR(LENGTH)

    变长字符串

    删除表语句

    DROP TABLE TABLENAME;

    CREAT TABLE语句例子
     

    CREATE TABLE table1

    (NAME VARCHAR(10),

    SEX INT,

    AGE INT,

    CLASS VARCHAR(20));

    CREAT TABLE语句,同时创建一个序列的例子
     

    CREATE TABLE table2

    (ID int(11) NOT NULL auto_increment, NAME varchar(20), AGE INT, PRIMARY KEY (ID))

    查询数据语句

    SELECT * FROM TABLENAME;

    SELECT COL1,COL2,… FROM TABLENAME;

    第一个SELECT语句表示查询指定表的所有字段。
    第二个SELECT语句表示查询指定表的指定字段。
     
     
    SELECT语句例子

    SELECT * FROM table1;

    SELECT NAME,AGE FROM table1;

    返回指定行数的SELECT查询数据语句
    LIMIT字句的语法
    SELECT * FROM TABLENAME LIMIT m,n
    其中m是指记录开始的index,从0开始,表示第一条记录
    n是指从第m+1条开始,取n条

    SELECT * FROM table1 LIMIT 0,5

    SELECT * FROM table1 LIMIT 6,3

    带有条件的查询数据语句

    SELECT COL1,COL2,… FROM TABLENAME WHERE CONDITIONAL;

    WHERE字句后面是条件。
    条件可以做逻辑判断组合
    –AND---与;
    –NOT---非;
    –OR---或;
    –=---等于;
    –LIKE---通过"%"通配符匹配指定模式
    –IN---包含子集
    –<>---不等于;
    –<---小于;
    –<=---小于等于;
    –>---大于;
    –>=---大于等于;
     
     
    SELECT语句WHERE子句例子

    SELECT * FROM table1 WHERE NAME = ‘TOM’ AND AGE = 20;

    SELECT * FROM table1 WHERE AGE = 21 OR AGE = 20;

    SELECT语句WHERE子句like操作符例子

    SELECT * FROM table1 WHERE NAME LIKE ‘tom%’; 

    SELECT * FROM table1 WHERE NAME LIKE ‘%tom’;

    SELECT * FROM table1 WHERE NAME LIKE ‘%tom%’;

    别名
      –列别名
      •SELECT FIELDNAME ALIAS FROM TABLENAME
      –表别名;
      •SELECT ALIAS.FIELDNAME FROM TABLENAME ALIAS;
    例如

    SELECT name 姓名 FROM table1;

    SELECT a.name FROM table1 a;

    聚合函数
      –SUM([DISTINCT] FIELDNAME)
      •求指定列之和, [DISTINCT]选项表示剔除重复记录
      –例如:SELECT SUM(age) FROM TABLE1;
      –MAX([DISTINCT] FIELDNAME)
      •求指定列最大值
      –例如:SELECY MAX(age) FROM TABLE1;
      –MIN([DISTINCT] FIELDNAME)
      •求指定列最小值
      –COUNT([DISTINCT] FIELDNAME)
      •求指定列记录总数
      –AVG([DISTINCT] FIELDNAME)
      •求指定列平均值
     
    GROUP BY子句
    –将查询结果根据指定字段分组
    –GROUP BY fieldname [DESC]

    例如::SELECT name FROM table1 GROUP BY classid;

    ORDER BY子句
    –将查询结果根据指定字段排序
    –ORDER BY fieldname [DESC]

    例如:SELECT name FROM table1 ORDER BY classid DESC;

     
    SELECT语句,查询多个表的WHERE子句例子

    SELECT * FROM table1,table2 WHERE table1.AGE = table2.AGE;

    SELECT * FROM table1,table2 WHERE (table1.NAME = table2.NAME) AND table1.AGE= 20;

    CREATE INDEX 语句用于在表中创建索引。
      –在不读取整个表的情况下,索引使数据库应用程序可以更快地查找 数据。
    索引
      –您可以在表中创建索引,以便更加快速高效地查询数据。
      –用户无法看到索引,它们只能被用来加速搜索/查询。
    注释:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。
    CREATE INDEX 语法
      –在表上创建一个简单的索引。允许使用重复的值:

    CREATE INDEX index_name

    ON table_name (column_name)

      –注释:"column_name" 规定需要索引的列。
    CREATE UNIQUE INDEX 语法
      –在表上创建一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值。

    CREATE UNIQUE INDEX index_name

    ON table_name (column_name)

    CREATE INDEX 实例

    本例会创建一个简单的索引,名为 “table1index",在 table1表的 NAME 列:

    CREATE INDEX table1index

    ON table1 (NAME)

    如果您希望以降序索引某个列中的值,您可以在列名称之后添加保留字 DESC:

    CREATE INDEX table1index

    ON table1 (NAME DESC)

    假如您希望索引不止一个列,您可以在括号中列出这些列的名称,用逗号隔开:

    CREATE INDEX table2index

    ON table2 (NAME, AGE)

    插入数据语句

    INSERT INTO TABLENAME (COL1,COL2,….) VALUES (VAL1,VAL2,….);

    向表插入一行数据,前面指定列名,后面是要插入的值。
     
    INSERT INTO语句例子

    INSERT INTO table1 (NAME,SEX,AGE,CLASS) VALUES (‘TOM’,1,20,’222’);

    修改数据语句

    UPDATE TABLENAME SET CAL1=VAL1,CAL2=VAL2,… WHERE CONDITIONAL

    SET字句指定要修改的字段和所赋的值,WHERE字句指定要修改的行,如果没有WHERE字句,代表修改所有行。
     
    UPDATE语句例子

    UPDATE table1 SET CLASS = ‘333’ WHERE NAME = ‘TOM’;

    删除数据语句

    DELETE FROM TABLENAME WHERE CONDITIONAL

    WHERE字句指定要删除的行,如果没有WHERE字句,代表删除所有行。
     
    DELETE语句例子

    DELETE FROM 'table1’ WHERE NAME = ‘TOM’;

  • 相关阅读:
    web api 初体验之 GET和POST传参
    清除系统日志及数据库(sql server)日志最佳实践
    大家好啊!
    [oc学习笔记]多态
    [oc学习笔记]便利构造器无法被继承
    [oc学习笔记]字符串
    antd异步加载的树
    react新建页面步骤(新手必看)
    ECharts 经常会修改到的一些样式配置
    关于数组的一些常用方法
  • 原文地址:https://www.cnblogs.com/shichuan/p/4472767.html
Copyright © 2020-2023  润新知