SQL学习记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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操作符中使用正则表达式

本文出自 “努力中。。。” 博客,请务必保留此出处http://y645194203.blog.51cto.com/8599045/1745788

以上是关于SQL学习记录的主要内容,如果未能解决你的问题,请参考以下文章

mybatis学习记录------2

SQL语法学习记录——JOIN

MYSQL学习记录

Spark SQL学习记录

mybatis原理分析学习记录

MSsql优化学习记录