• SQL语句基础


    查询语句:select ;
    * DML语句(Data Manipulation Language)数据操作语言 :
    * 主要有 insert、update、deleted三个关键字完成。
    * DDL语句(Data Definition Language)数据定义语言:
    * create、alter、drop和truncate四个关键字完成
    * DCL语句(Data Control Language)数据控制语言:
    * grant、revoke两个关键字。
    * 事务控制语句: 主要有 commint、rollback、savepoint。
    *
    * ------------------------------常见的数据库对象:
    *
    * 表(Table )
    * 数据库中的表与我们日常生活中使用的表格类似,
    * 它也是由行(Row) 和列(Column)组成的。
    *
    * 索引(Index)
    * 索引是根据指定的数据库表列建立起来的顺序。
    * 它提供了快速访问数据的途径,并且可监督表的数据,
    * 使其索引所指向的列中的数据不重复。
    *
    * 视图(View)
    * 视图看上去同表似乎一模一样,具有一组命名的
    * 字段和数据项,但它其实是一个虚拟的表,在数据库中
    * 并不实际存。在视图是由查询数据库表产生的,它限制
    * 了用户能看到和修改的数据。由此可见,视图可以用来
    * 控制用户对数据的访问,并能简化数据的显示,即通过
    * 视图只显示那些需要的数据信息。
    *
    * 触发器(Trigger)
    * 触发器是一个用户定义的SQL 事务命令的集合。
    * 当对一个表进行插入、更改、删除时,这组命令就会自
    * 动执行。
    *
    * 存储过程(Stored Procedure)
    * 存储过程是为完成特定的功能而汇集在一起的一组SQL
    * 程序语句,经编译后存储在数据库中的SQL 程序。
    *
    * --------------------------------SQL的基本语法 :
    *
    * ----------DDL语句---------------
    * 创建表语法
    * create table [模式名.]表名
    * (
    * --多个内容
    * ...
    * );
    *
    * 修改表结构的语法
    *
    * alter table 表名
    * add
    * (
    * --多个列表
    * ...
    * );
    *
    * 修改列定义的语法:
    * alter table 表名
    * modify column_name datatype [default expr] [first|after col_name]
    * first 或者 after col_name将目标修改到指定位置.
    * 注意 : add 的名字必须是原表中不存在的;而 modify的名字必须是原表中存在的。
    *
    * 从数据表中删除列的语法:
    * alter table 表名
    * drop column_name ;
    *
    * 重命名数据表的语法格式:
    * alter table 表名
    * rename column_name ;
    *
    *
    * truncate表
    * 作用是删除该表里的全部数据,但是保留表的结构。
    * 语法 :
    * truncate 表名 ;
    *
    * * * 约束
    * 可以更好地保证数据表里面数据的完整性。
    * NOT NULL:非空约束,指定某列不能为空。
    * UNIQUE :唯一约束,指定某列或者几列组合不能重复。
    * PRIMARY KEY :主键,指定该列的值可以唯一地标识该条记录.
    * FOREIGN KEY :外键,指定该行记录从属于主表中的一条记录,主要用于保证参照完整性。
    * CHECK :检查,指定一个布尔表达式,用于指定对应的值必须满足该表达式。
    *
    * NOT NULL (不分大小写)的建表语法如:
    * colunmn_name int NOT NULL
    * ...
    * colunmn_name varchar(255) default 'xyz' not null
    *
    * UNIQUE 的语法:
    * colunmn_name int UNIQUE
    * 为多列组合建立唯一约束,或者想自行指定约束名则要使用表级约束格式:
    * [ constraint 表名 ] 约束定义
    *
    * create table unique_test
    * (
    * test_id int not null ,
    * test_name varchar(255) ,
    * test_pass varchar(255)
    * );
    * ----注意:
    * unique(test_pass)
    * constraint test_uk unique(test_name)
    * 和,
    * constriant test_uk2 unique(test_name,test_pass)
    * 是不同的。
    * 前者是要求test_pass和test_name都不能出现重复.
    * 后者是要求test_pass和test_name的组合不能重复.
    *
    * 可以在修改表结构时使用add关键字来增加唯一约束。
    * alter table unique_test
    * add unique(test_name , test_pass) ;
    * 也可以在修改表时使用modify关键字为单列采用列级约束语法
    * 来增加唯一约束。
    *
    * PRIMARY KEY 语法。
    * 相当于非空约束和唯一约束,即主键上约束的列既不能允许
    * 为空,也不能重复。当对多个组合建立主键约束时,则多列
    * 里包含的数据不能为空,但是只要组合不重复就可以。
    * 使用列级约束语法建约束
    * create table primary_test
    * (
    * -- 建立主键约束
    * test_id int primary key ,
    * test_name varchar(25)
    * );
    * 使用表级约束语法建约束
    * create table primary_test
    * (
    * test_id int not null ,
    * test_name varchar(25) ,
    * test_pass varchar(25) ,
    * constraint test_pk key(test_id,test_name)
    * );
    *
    * 可以使用drop primary key 删除指定表的主键约束:
    * alter table primary_test
    * drop primary key ;
    *
    * 也可以使用modify修改列定义来为单独的数据列增加主键约束
    * alter table primary_test
    * modify test_pass primary key ;
    *
    * FOREIGN KEY 约束:
    * 主要用于保证一个或两个数据表之间的参照完整性,外键是构建
    * 于一个表的两个字段或者两个表的两个字段之间的参照关系。
    * 子(从)表外键列的值必须在主表被参照列的值范围内,或者为空。
    * 语法:
    * 如果仅对单独的数据列建立外键约束,则使用列级约束语法;
    * 否则是表级约束语法。 使用列级约束语法外键约束直接使用reference关键字:
    * 如果使用表级约束语法,则使用foreign key来指定本表的外键列。
    * --------------DML 语法--------------
    * DML主要操作数据表里面的数据,使用个DML可以完成如下三个任务:
    * 1、插入新数据。
    * 2、修改已有数据。
    * 3、删除不需要的数据。
    * 有insert into 、update 和 delete form三个命令组成。
    *
    * -- insert into 语句
    * 用于向指定数据表中插入记录。
    * insert into table_name [(column[,cloumn...])]
    * values(value[,value...]) ;
    *
    * -- update 语句
    * 用于修改数据库记录,每次可以修改多条记录,
    * 可通过where子句限定修改哪些记录。where子句是一个条件
    * 表达式,只有符合条件才能被修改(就像if语句)。
    * 语法格式:
    * update table_name
    * set colmumn1 = value1[,column2 = values2] ...
    * [where condition] ;
    *
    * -- delete from 语句
    * 删除指定数据表的记录,不需要指定列名,应为删除总是整行的删除。
    * 语法格式:
    * delete from table_name
    * [where condition] ;
    * -- select 语句和SQL函数
    * 功能就是查询数据。
    * 语法格式:
    * 最简单的select语句的语法格式如下:
    * select column1 , column2 ...
    * from 数据源
    * [where condition] ;
    * 如果想列出所有列,可以用*代表所以列。

    SELECT DISTINCT 语句

    在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。

    关键词 DISTINCT 用于返回唯一不同的值。 

    语法格式:

      select distinct column1[,column ... ] from table_name ; 


  • 相关阅读:
    Android 之流媒体播放器,广播侧下方这么简单。
    POJ 1146:ID Codes
    NYOJ 47 河问题
    浏览器 HTTP 协议缓存机制详解--网络缓存决策机制流程图
    写给后端程序员的HTTP缓存原理介绍--怎样决定一个资源的Cache-Control策略呢
    浅谈Web缓存-缓存的实现过程详解
    国内各大互联网公司相关技术博客3.0版 (集合腾讯、阿里、百度、搜狐、新浪、网易、360等共29个)
    知名技术团队博客
    【Web缓存机制系列】2 – Web浏览器的缓存机制-(新鲜度 校验值)
    学习是一件艰苦的事情
  • 原文地址:https://www.cnblogs.com/jbelial/p/2361796.html
Copyright © 2020-2023  润新知