SQL学习记录

1、表的某一列对于只接受特定的值来说,需要增加一个约束条件,

gender CHAR(1) CHECK (gender IN (‘M‘,‘F‘))

对于大多说数据库服务器中检查约束来说能够如期的工作,但对于MySQL来说,虽然定义了检查约束,但并不强制,实际上MySQL提供了另一种名为enum的字符数据类型,它可以将检查约束和数据定义融合在一起:gender ENUM(‘M‘,‘F‘);

2、ALERT TABLE person MODIFY person_id SMALLINT UNSIGNED AUTO_INCREMENT

修改person表的person_id 为自增;

3、获取XML格式的数据:

MySQL :登录时:MySQL -u root -p --xml 数据库名称

之后查询  Select * from 表名,出来的就是XML格式。

SQL Server  无需命令 只需在每个查询的末尾增加 for xml子句即可

4、SELECT VERSION(),USER(),DATABASE();

3个简单的内建函数,返回数据库的版本,当前用户,当前数据库名称

5、DISTINCT 产生无重复的的结果集是首先对数据排序的,这对于打的表来说是相当耗时的,因此不能为了去除重复的行而随意的使用distinct,而是应该先了解所使用的数据是否可能包含重复的行,以减少对distinct的不必要使用。

6、SQL如果带通配符的字符串仍然不能提供足够的灵活性,那么可以使用正则表达式。

查找姓名已F或者G开头的记录

MySQL :select * from emp where name REGEXP ‘^[FG]‘

Oracle使用的是regexp_like 而SQL Server则允许like操作符中使用正则表达式

时间: 2024-10-13 05:00:57

SQL学习记录的相关文章

[QT][SQL]sql学习记录3_sqlite 使用

详见 : http://www.runoob.com/sqlite/sqlite-create-table.html 约束表实例 下面是一个实例,它创建了一个 COMPANY 表,ID 作为主键,NOT NULL 的约束表示在表中创建纪录时这些字段不能为 NULL: sqlite> CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), S

[QT][SQL]sql学习记录5_sqlite视图(View)

SQLite 视图(View) 视图(View)只不过是通过相关的名称存储在数据库中的一个 SQLite 语句.视图(View)实际上是一个以预定义的 SQLite 查询形式存在的表的组合. 视图(View)可以包含一个表的所有行或从一个或多个表选定行.视图(View)可以从一个或多个表创建,这取决于要创建视图的 SQLite 查询.. 视图(View)是一种虚表,允许用户实现以下几点: 用户或用户组查找结构数据的方式更自然或直观. 限制数据访问,用户只能看到有限的数据,而不是完整的表. 汇总各

Spark SQL学习记录

HDFS YARN YARN架构:1个RM(ResourceManager)主节点+N个NM(NodeManager)从节点ResourceManager职责:一个集群active状态的RM只有一个,负责整个集群额资源管理和调度1.处理客户端的请求(启动或杀死一个作业)2.启动/监控ApplicationMaster(一个作业对应一个AM)3.通过心跳监控NM4.系统的资源分配和调度 NodeManager职责:整个集群中有N个节点,负责单个节点的资源管理和使用以及task的运行1.定期向RM汇

[QT][SQL]sql学习记录5_sqlite Autoincrement(自动递增)

定义以及示例请见 : http://www.runoob.com/sqlite/sqlite-autoincrement.html SQLite Autoincrement(自动递增) SQLite 的 AUTOINCREMENT 是一个关键字,用于表中的字段值自动递增.我们可以在创建表时在特定的列名称上使用 AUTOINCREMENT 关键字实现该字段值的自动增加. 关键字 AUTOINCREMENT 只能用于整型(INTEGER)字段. 实例 假设要创建的 COMPANY 表如下所示: sq

SQL学习笔记:选取第N条记录

Northwind数据库,选取价格第二高的产品. 有两种方法,一个是用Row_Number()函数: SELECT productname FROM (SELECT TOP 2 productname, Row_Number() OVER (ORDER BY unitprice desc) AS rownum FROM Products) AS tbl WHERE rownum = 2; 另一种是对子语句的的结果再进行排序: SELECT top 1 productname FROM (SELE

[QT][SQL]sq]学习记录1_模糊搜索

sql学习网站: http://www.w3school.com.cn/sql/index.asp 用于模糊搜索数据库的数据 语句:http://www.w3school.com.cn/sql/sql_like.aspSQL LIKE 操作符: 接下来,我们希望从 "Persons" 表中选取居住在包含 "lon" 的城市里的人:我们可以使用下面的 SELECT 语句:SELECT * FROM PersonsWHERE City LIKE '%lon%'

Oracle之PL/SQL学习笔记

自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家批评指正. PL/SQL定义:PL/SQL是由Oracle开发,专门用于Oracle的程序设计语言. PL---Procedural Language. SQL—Structure QueryLanguage.PL/SQL包括过程化语句和SQL语句     PL/SQL的单位:块. 一个块中可以嵌套

TERADATA SQL学习随笔<一>

最近在TERADATA环境学习SQL.在这里记录一下学习中查过的知识点,作为备案. 目录: 关于SQL学习及所用在线数据库 表联合 (join) SQL子查询 在select时创建新字段 (as, case when) 数据分组 (group by + 聚合函数count, sum, avg等) 利用over (partition by)进行数据分组并创建新字段 样本选择 1.关于SQL学习及所用在线数据库 之前有看过一些SQL学习的书.但如果从学习效率来说,跟着书学习SQL,不如直接看生产环境

程序员面试笔试宝典学习记录(三)(数据库相关知识)

关系数据库系统与文件数据库系统的区别如下: (a)关系数据库系统的主要特征是数据的结构化,而文件数据库系统是数据的非结构化. (b)关系数据库系统中,用户看到的逻辑结构是二维表,而文件数据库系统中,基本元素是文件. (c)文件数据库系统可以实现多媒体文件管理,支持C/S工作模式. acid,指数据库事务正确执行的四个基本要素的缩写.包含:原子性(atomicity),一致性(consistency),隔离性(isolation),持久性(durability). 数据查询:select sele