sql数据类型

SQL语句汇总(一)——数据库与表的操作以及创建约束

落花浮王杯 提交于 2019-12-03 21:10:16
SQL语句汇总(一)——数据库与表的操作以及创建约束 首先,非常感谢大家对上篇博文的支持,真是让本菜受宠若惊,同时对拖了这么久才出了此篇表示抱歉。   前言:此文旨在汇总从建立数据库到联接查询等绝大部分SQL语句。SQL语句虽不能说很多,但稍有时间不写就容易出错。博主希望通过此文来战胜自己的健忘,如果大家认可也可以保留起来。 "SQL"是 "Structured Query Language" 即“结构化查询语言”的简称,它是用来管理关系型数据库的。 其包括: –数据定义语言(DDL) –数据查询语言(DQL) –数据操作语言(DML) –数据控制语言(DCL) 创建数据库: CREATE DATABASE 数据库名; 数据库名命名规则: - 第一个字符必须为下列之一:字母、下划线、#及@符号。 - 后续字符由字母、十进制数、下划线、#、$及@符号组成。 - 不能为RDBMS(数据库管理系统)的保留关键字。 - 不允许空格及其他字符。 本文以SQLyog软件为例,创建数据库如下: CREATE DATABASE test_sql 此图为SQLyog的左侧目录栏,前三个为本地自带数据库。将SQL语句全部选中运行(F8)后,F5刷新目录栏,出现了我们创建的数据库。 连接数据库: USE test_sql; 删除数据库: DROP DATABASE test_sql;

Mysql之数据类型

て烟熏妆下的殇ゞ 提交于 2019-12-03 16:48:18
一、整形的显示宽度   在mysql的数据类型中有如下定义, 整型类型(显示宽度)   注意,正确的理解,其实是显示宽度, 因为整型的显示宽度,对数值大小无影响,只是当设置了zerofill的时候,在显示的时候补0而已。    从上面的显示我们看到,设置了宽度为5, 并且zerofill了 ,这样在查询的时候,会在前面自动补0。 宽度可以不设置,因为整数数据类型都有默认的显示宽度,不设就采用默认的。   另外,即使设置了显示宽度,也能赋超过显示宽度的值,整型的显示宽度仅仅用于显示补0。   二、浮点型与定点型   在mysql的数据类型中浮点型分为两种,float()与double()类型,定点型为decimal()。 数据类型(M,D) M:精度,数据的总长度; D:标度,小数点后的长度;   其区别在于: 当不指定精度时,Float、Double默认会保存实际精度,而Decimal默认是整数; 当标度不够时,都会四舍五入,但Decimal会警告信息。    三、日期与时间类型   MySQL日期时间所有种类如下: 类型 字节数 取值范围 零值 YEAR 1 1901~2155 0000 DATE 4 1000-01-01~9999-12-31 0000:00:00 TIME 3 -838:59:59~838:59:59 00:00:00 DATETIME 8 1000-01

Oracle和sqlserver数据类型对应

混江龙づ霸主 提交于 2019-12-03 14:25:59
SQL Server 数据类型 Oracle 数据类型 bigint NUMBER(19,0) binary(1-2000) RAW(1-2000) binary(2001-8000) BLOB bit NUMBER(1) char(1-2000) CHAR(1-2000) char(2001-4000) VARCHAR2(2001-4000) char(4001-8000) CLOB date DATE datetime DATE datetime2(0-7) TIMESTAMP(7)(对于 Oracle 9 和 Oracle 10);VARCHAR(27)(对于 Oracle 8) datetimeoffset(0-7) TIMESTAMP(7) WITH TIME ZONE(对于 Oracle 9 和 Oracle 10);VARCHAR(34)(对于 Oracle 8) decimal(1-38, 0-38) NUMBER(1-38, 0-38) float(53) FLOAT float FLOAT 地理 BLOB geometry BLOB hierarchyid BLOB 图像 BLOB int NUMBER(10,0) money NUMBER(19,4) nchar(1-1000) CHAR(1-1000) nchar(1001-4000) NCLOB ntext

MySQL的数据类型

随声附和 提交于 2019-12-03 05:15:29
一.数值类型 Mysql支持所有标准SQL中的数值类型,其中包括严格数据类型(INTEGER,SMALLINT,DECIMAL,NUMBERIC),以及近似数值数据类型(FLOAT,REAL,DOUBLE PRESISION),并在此基础上进行扩展。 扩展后增加了TINYINT,MEDIUMINT,BIGINT这3种长度不同的整形,并增加了BIT类型,用来存放位数据。 整数类型 字节 范围(有符号) 范围(无符号) 用途 TINYINT 1字节 (-128,127) (0,255) 小整数值 SMALLINT 2字节 (-32 768,32 767) (0,65 535) 大整数值 MEDIUMINT 3字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值 INT或INTEGER 4字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值 BIGINT 8字节 (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值 FLOAT 4字节 (-3.402 823 466 E+38,1.175 494 351 E-38),0,(1.175 494 351 E-38,3

SQLServer2012书学习

匿名 (未验证) 提交于 2019-12-02 23:51:01
  1 SQL Server2012采用的数据模型是关系模型   2 能够执行SQL语句,分析查询计划,显示查询统计情况,和实现索引分析等功能的SQL工具是查询编辑器   3 查询编辑器中执行SQL语句的快捷键F5 第二章  创建数据库     目标   1 了解数据库组成 了解系统数据库 2 理解数据库文件,文件组的种类和作用 3 掌握在管理数据库时常用的系统存储过程 4 创建数据库 5 管理数据库,修改数据库设置,重命名和删除数据库 6 分离和附加数据库   系统数据库主要包含五个数据库, 1   master数据库,数据库服务器的核心。 2   model数据库,用户数据库的模板。 3   msdb数据库,提供运行SQL Server Agent工作的信息,是SQL Server的一个windows服务,运行制定好的计划任务,可自动执行,不需要更改 4   tempdb数据库,临时数据库,用来存储创建的临时用户对象,(全局临时表,临时存储过程,表变量),SQL Server创建的内部对象和由数据库修改事务提交的行记录。每次启动都会重新创建tempdb,断开连接时会自动删除信息 5   resource数据库,ssms看不到的数据库,只读数据库,包含SQL Server所有的系统对象  2 文件组,PRIMARY文件组为自动创建的文件组,未指明存放位置时都是用此文件组

SQL Server中VARCHAR(MAX)和NVARCHAR(MAX)使用时要注意的问题(转载)

匿名 (未验证) 提交于 2019-12-02 23:48:02
在Microsoft SQLServer2005及以上的版本中,对于varchar(n)、nvarchar(n)和varbinary(n)有了max的扩展。可以使用如:varchar(max)、nvarchar(max)和varbinary(max)的大值数据类型来存储最多2^30-1个字节的数据。 这几个数据类型在行为上和较小的数据类型 varchar、nvarchar 和 varbinary 相同。 微软的说法是用这个数据类型来代替之前的text、ntext 和 image 数据类型,它们之间的对应关系为: varchar(max)-------text; nvarchar(max)-----ntext; varbinary(max)----image. 有了大值数据类型之后,在对大值数据操作的时候要比以前灵活的多了。比如:之前text是不能用‘like’的,有了varchar(max)之后就没有这些问题了,因为varchar(max)在行为上和varchar(n)上相同,所以,可以用在varchar的都可以用在varchar(max)上。 以varchar为例,varchar支持8000字符,Text支持2GB字符,但是,替换函数在编写出来的时候,就对TEXT数据类型不起作用。 Update TableName Set DocuMent=REPLACE(DocuMent

Mysql支持的数据类型(总结)

北慕城南 提交于 2019-12-02 22:14:20
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 http://mrxiong.blog.51cto.com/287318/1651098 一.数值类型 Mysql支持所有标准SQL中的数值类型,其中包括严格数据类型(INTEGER,SMALLINT,DECIMAL,NUMBERIC),以及近似数值数据类型(FLOAT,REAL,DOUBLE PRESISION),并在此基础上进行扩展。 扩展后增加了TINYINT,MEDIUMINT,BIGINT这3种长度不同的整形,并增加了BIT类型,用来存放位数据。 整数类型 字节 范围(有符号) 范围(无符号) 用途 TINYINT 1字节 (-128,127) (0,255) 小整数值 SMALLINT 2字节 (-32 768,32 767) (0,65 535) 大整数值 MEDIUMINT 3字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值 INT或INTEGER 4字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值 BIGINT 8字节 (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744

MySQL error 1292 数据类型错误

匿名 (未验证) 提交于 2019-12-02 22:02:20
Mysql [Err] 1292 - Truncated incorrect DOUBLE value: 'a' A-01. 问题: [SQL] update `book` set `times` = 1 where `type` = 1 and `times` = 0; [Err] 1292 - Truncated incorrect DOUBLE value: 'a' A-02. 分析 该错误为类型错误, 查询条件 `times`=0 的结果集中含有 `type`='a' 的结果, 所有类型转换错误. A-03. 解决 [SQL] update `book` set `times` = 1 where `type` = '1' and `times` = 0; ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION B-01. 查看 sql_mode [SQL] show session variables like '%sql_mode%'; +---------------+------------------------------------------

数据库的基本操作(2)

ε祈祈猫儿з 提交于 2019-12-02 19:06:09
一、创建数据表 需要注意的是,在操作数据表之前,应该使用“USE 数据库名”指定操作是在哪个数据库中进行,否则会抛出“No database selected”错误。 创建数据表的基本语法格式如下所示: CREATE TABLE 表名 ( 字段名1,数据类型[完整性约束条件], 字段名2,数据类型[完整性约束条件], ...... 字段名n,数据类型[完整性约束条件] ) 例如下图: 为了验证数据表是否创建成功,需要使用SHOW TABLES语句进行查看,具体执行结果如下所示: 二、查看数据表 使用SHOW CREATE TABLE查看数据表在MySQL中,SHOW CREATE TABLE语句不仅可以查看创建表时的定义语句,还可以查看表的字符编码。SHOW CREATE TABLE语句的基本语法格式如下所示: SHOW CREATE TABLE 表名; 在上述格式中,“表名”指的是要查询数据表的名称。 使用SHOW CREATE TABLE语句查看appled表,SQL语句如下所示: SHOW CREATE TABLE appled; 执行结果如下: 在MySQL中,使用DESCRIBE语句可以查看表的字段信息,其中包括字段名、字段类型等信息。DESCRIBE语句的基本语法格式如下所示: DESCRIBE 表名; 或简写为: DESC 表名;

表操作和mysql支持的数据类型

狂风中的少年 提交于 2019-12-02 11:31:10
表操作 表的基本操作 前提:先选取要操作的数据库 1)进入指定库 mysql>:use db1; 2)确定当前使用的数据库 mysql>:select database(); 3)查看当前数据库已有表 mysql>:show tables; 4)增加,创建表(字段1 类型, ..., 字段n 类型) mysql>:create table 表名(字段们); eg>: create table student(name char(16), age int); eg>: create table t1(name varchar(16), age int); 5)查看创建表的详细信息 mysql>:show create table 表名; eg>: show create table t1; 4)查看创建表的结构(字段结构信息) mysql>:desc 表名; eg>:desc t1; 5)删除表 mysql>: drop table 表名; eg>: drop table teacher; 创建表的完整语法 # 长度和约束在某些情况下是可以省略的 mysql>: create table 表名 ( 属性名1 类型(长度) 约束, ... 属性名n 类型(长度) 约束 ) engine=引擎 default charset=utf8; ''' create table 表名( 字段名1