varchar

mysql学习--列类型的参数问题

夙愿已清 提交于 2020-03-07 21:13:38
一、整型系列 int (N) unsigned zero fill N和zerofill搭配使用,意思是补0的宽度,(身份证/学号) unsigned表示存储的数据是正数,没有符号 插入snum是12的一行数据 二、浮点/定点型 float和decimal的区别:定点decimal是把一个数的小数部分和整数部分分开存储,比float更加更加精确。像账户这样的敏感数字,建议用decimal存储。 float(A,B) A:精度,小数的总位数 B:标度,小数点右边的个数 float(6,2):-9999.99~9999.99 mysql默认浮点数有符号,无符号时须定义 浮点数所占字节:如果标度<24,占据4个字节,否则占8个字节 三、字符串型 1、char和varchar char(M):定长,如果参数是M,即宽度是M,实际存储的字符i<=M,但是就算是存储的字符小于M,字符实际所占据的空间也是M。当不够M个字符时,内部用空格补齐,取出时再把右侧空格删掉,这意味这右侧本身有空格,取出时会丢失。 varchar(M):变长,如果参数是M,则可以存储的字符是M。如果实际存的字符是i,则实际占据的空间是:i字符+(1~2)个字节。多余的字节用来标志字符长度。 char(M)比varchar(M)查询速度更快 char和varchar限制的是字符,不是字节,即char(2) utf8

ACCP 结业考试

好久不见. 提交于 2020-03-07 07:47:25
1) 在 SQL Server 中,为数据库表建立索引能够(C )。 索引:是SQL SERVER编排数据的内部方法,是检索表中数据的直接通道 建立索引的作用:大大提高了数据库的检索速度,改善数据库性能 A. 防止非法的删除操作 B. 防止非法的插入操作 C. 提高查询性能 D. 节约数据库的磁盘空间 2) 在 SQL SERVER 中,创建一个表使用(C )语句。 A. INSERT 增加数据 B. DROP 删除数据库,表,约束,视图,索引,存储过程 C. CREATE 创建数据库,表,视图,索引,存储过程 D. ALERT 创建约束或者修改存储过程 3) 在 SQL SERVER 中,下面关于视图说法错误的是(C )。 A. 对查询执行的大多数操作也可以在视图上进行 B. 使用视图可以增加数据库的安全性 C. 不能利用视图增加,删除,修改数据库中的数据 为了保证数据库的安全,尽量不要利用视图进行增删改操作 D. 视图使用户更灵活的访问所需要的数据 4) 在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的( B )阶段。 A. 需求分析 B. 概要设计 C. 逻辑设计 D. 物理设计 5) 在SQL Server 数据库中,如果强制要求grades表中的学员必须是Students表中存在的学员,以下描述正确的是( A )。 A. 在

MYSQL--表分区、查看分区

我的未来我决定 提交于 2020-03-06 08:20:01
一、 mysql分区简介 数据库分区 数据库分区是一种物理数据库设计技术。虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减sql语句的响应时间,同时对于应用来说分区完全是透明的。 MYSQL的分区主要有两种形式:水平分区和垂直分区 水平分区(HorizontalPartitioning) 这种形式的分区是对根据表的行进行分区,通过这样的方式不同分组里面的物理列分割的数据集得以组合,从而进行个体分割(单分区)或集体分割(1个或多个分区)。 所有在表中定义的列在每个数据集中都能找到,所以表的特性依然得以保持。水平分区一定要通过某个属性列来分割。常见的比如年份,日期等。 垂直分区(VerticalPartitioning) 这种分区方式一般来说是通过对表的垂直划分来减少目标表的宽度,使某些特定的列被划分到特定的分区,每个分区都包含了其中的列所对应所有行。 可以用 showvariables like '%partition%'; 命令查询当前的mysql数据库版本是否支持分区。 分区的作用:数据库性能的提升和简化数据管理 在扫描操作中,mysql优化器只扫描保护数据的那个分区以减少扫描范围获得性能的提高。 分区技术使得数据管理变得简单,删除某个分区不会对另外的分区造成影响,分区有系统直接管理不用手工干预。 mysql从5.1版本开始支持分区

SQL行列转换

那年仲夏 提交于 2020-03-06 07:16:30
create table A1 ( A1_id varchar(10), A1_name varchar(10) ); insert into a1 values('A','1'); insert into a1 values('B','1'); insert into a1 values('C','2'); insert into a1 values('D','3'); select * from a1 -- 方法1 select A1_id + '' from a1 for XML Path('') as tlist from a1 select A1_name, (SELECT A1_id+'' FROM a1 WHERE A1_name=A.A1_name FOR XML PATH('')) AS StuList FROM a1 A GROUP BY A1_name --方法2 declare @sql varchar(8000),@sql2 varchar(1000) select @sql=isnull(@sql+',','')+A1_id from a1 group by A1_id set @sql='select * from a1 pivot (max(A1_id) for A1_id in ('+@sql+'))a' exec(@sql) 来源: https:

第八章、数据库后台编程技术

佐手、 提交于 2020-03-06 01:07:00
第八章、数据库后台编程技术 内容提要: 1、掌握存储过程的定义与使用 2、掌握用户定义函数的创建与使用 3、掌握触发器的定义与使用 4、掌握游标的定义与使用 第一节 存储过程 1、基本概念 使用T-SQL语言编写代码时,有两种方式存储和执行代码: (1)在客户端存储代码,通过客户端程序或SQL命令向DBMS发出操作请求,由DBMS将结果返回给用户程序。 (2)以子程序的形式将程序模块存储在数据库中,供有权限的用户通过调用反复执行。 存储过程 :即存储在数据库中供所有用户程序调用的子程序。 存储过程分为三类 系统存储过程 用户自定义存储过程(如果没有说明的话默认) 扩展存储过程 用户自定义存储过程 是由用户创建并能完成某一特定功能(如查询用户所需数据信息)的存储过程。本节将详细介绍用户自定义的存储过程。 以下三个存储过程即为用户自定义存储过程: 扩展存储过程 是 SQL Server 可以动态装载并执行的动态链接库 (DLL)。扩展存储过程使您得以使用象 C 这样的编程语言创建自己的外部例程。对用户来说,扩展存储过程与普通存储过程一样,执行方法也相同。 存储过程的优点 ① 极高的执行效率。(所有的命令都是以批处理的方式处理) ② 增强代码的重用性和共享性。 ③ 使用存储过程可以减少网络流量。 ④ 使用存储过程保证安全性。 ⑤ 在大型数据库中,应用程序访问数据库的最主要方式就是存储过程

sql基本语法1(简单全面)

笑着哭i 提交于 2020-03-06 00:52:53
SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。 SELECT - 从数据库表中获取数据 UPDATE - 更新数据库表中的数据 DELETE - 从数据库表中删除数据 INSERT INTO - 向数据库表中插入数据 CREATE DATABASE - 创建新数据库 ALTER DATABASE - 修改数据库 CREATE TABLE - 创建新表 ALTER TABLE - 变更(改变)数据库表 DROP TABLE - 删除表 CREATE INDEX - 创建索引(搜索键) DROP INDEX - 删除索引 select select * from Persons select lastName from Persons distinct 对查询的字段去重: SELECT DISTINCT 列名称 FROM 表名称 select distinct lastName from Persons ORDER BY 排序,默认为升序ASC;降序是DESC SELECT Company , OrderNumber FROM Orders ORDER BY Company DESC , OrderNumber ASC INSERT INTO 向表格中插入新的行: INSERT INTO 表名称 VALUES (值1, 值2,....) INSERT

MySQL的SQL语句

☆樱花仙子☆ 提交于 2020-03-05 20:59:01
须知: SQL语言:结构化查询语言,是关系型数据库查询语言的标准,不同的数据库虽然有自己私有扩展,但关键词都支持:(select、update、delete、insert、where) SQL语句分类:像Oracle、MSSQL都是通用的 DDL:数据定义语言(create、alter、drop、rename) DML:数据库维护语言(select、insert、update、delete) DCL:数据库控制语言,权限(Grant、revoke) TCL:事务控制语言(commt、sarepqint):新型的语句 一、数据库增删改查 根据这个表结构以下来操作: select * from user; 基本操作 1.创建数据库 create database name; 2.删除数据库 drop database name; 3.创建一个用户表 create table user(id int,name varchar(30),pass varchar(30)); 4.插入数据 insert into user(id,name,pass) values("1","zhangsan","123"); 5.删除一个表 drop table user; 6.查看表字段 desc table user; 7.查看表数据 select * from user; 8.修改表名 rename

MySql - JdbcType - Oracle类型映射

南楼画角 提交于 2020-03-05 16:07:13
MySql - JdbcType - Oracle类型映射 MySQL数据类型 JDBC TYPE Oracle数据类型 BIGINT BIGINT NUMBER(20) TINYINT TINYINT NUMBER(2) SMALLINT SMALLINT NUMBER(5) MEDIUMINT/INTEGER/INT INTEGER INTEGER/INT FLOAT REAL REAL DOUBLE DOUBLE DOUBLE NUMERIC/DECIMAL DECIMAL NUMBER CHAR CHAR CHAR VARCHAR VARCHAR VARCHAR2 TINYBLOB BINARY TINYTEXT VARCHAR VARCHAR2 BLOB BINARY BLOB TEXT/MEDIUMTEXT/LONGTEXT LONGVARCHAR VARCHAR2 LONGBLOB LONGVARBINARY BLOB DATE/YEAR DATE DATE TIME TIME DATETIME/TIMESTAMP TIMESTAMP TIMESTAMP 来源: https://www.cnblogs.com/garfieldcgf/p/6000111.html

JdbcType类型和Java类型的对应关系

爱⌒轻易说出口 提交于 2020-03-05 16:06:10
在Oracle中有些字段不是必填时在用户使用的时候会出现数据null的情况。这个时候在Oracle中是无法进行插入的。 1 JDBC Type Java Type 2 CHAR String 3 VARCHAR String 4 LONGVARCHAR String 5 NUMERIC java.math.BigDecimal 6 DECIMAL java.math.BigDecimal 7 BIT boolean 8 BOOLEAN boolean 9 TINYINT byte 10 SMALLINT short 11 INTEGER INTEGER 12 BIGINT long 13 REAL float 14 FLOAT double 15 DOUBLE double 16 BINARY byte[] 17 VARBINARY byte[] 18 LONGVARBINARY byte[] 19 DATE java.sql.Date 20 TIME java.sql.Time 21 TIMESTAMP java.sql.Timestamp 22 CLOB Clob 23 BLOB Blob 24 ARRAY Array 25 DISTINCT mapping of underlying type 26 STRUCT Struct 27 REF Ref 28 DATALINK

mysql----数据类型

巧了我就是萌 提交于 2020-03-05 14:07:09
一、数值 1.1 二进制 bit[(M)] 二进制位(101001),m表示二进制位的长度(1-64),默认m=1 1.2 整数 1.2.1 tinyint[(m)] [unsigned] [zerofill] 小整数,数据类型用于保存一些范围的整数数值范围: 有符号: -128 ~ 127 . 无符号: 0~ 255 特别的: MySQL中无布尔值,使用tinyint(1 )构造。 1.2.2 int [(m)][unsigned][zerofill] 整数,数据类型用于保存一些范围的整数数值范围: 有符号: -2147483648 ~ 2147483647 无符号: 0~ 4294967295 特别的:整数类型中的m仅用于显示,对存储范围无限制。 例如: int(5),当插入数据2时,select 时数据显示为: 00002 1.2.3 bigint[(m)][unsigned][zerofill] 大整数,数据类型用于保存一些范围的整数数值范围: 有符号: -9223372036854775808 ~ 9223372036854775807 无符号: 0~ 18446744073709551615 1.3 小数 1.3.1 decimal[(m[,d])] [unsigned] [zerofill] 准确的小数值,m是数字总个数(负号不算),d是小数点后个数。 m最大值为65