‘壹’ sql查询列表数据是文字的数据.
exec sp_help [表名称]
上面代码是看数据库表结构的,你看了表结构就知道 数据是什么类型了。
‘贰’ 教您如何获取SQL字段默认值
sql server 中获取SQL字段默认值 ,获取所有的默认值列表:select object_name(c.id) as 表名 ,c.name as 字段名 ,t.name as 数据类型 ,c.prec as 长度 ,p.value as 字段说明 ,m.text as 默认值 from syscolumns c inner join systypes t on c.xusertype=t.xusertype left join sysproperties p on c.id=p.id and c.colid = p.smallid left join syscomments m on c.cdefault=m.id 研究了很久 终于搞定了获取单个SQL字段默认值列表select object_name(c.id) as 表名 ,c.name as 字段名 ,t.name as 数据类型 ,c.prec as 长度 ,p.value as 字段说明 ,m.text as 默认值 from syscolumns c inner join systypes t on c.xusertype=t.xusertype left join sysproperties p on c.id=p.id and c.colid = p.smallid left join syscomments m on c.cdefault=m.id where objectproperty(c.id,'IsUserTable')=1 and object_name(c.id) = 'T_good' and c.name = 'ishot'
‘叁’ sql插入语句,这个列表identity_insert为no时才能为表显示值是什么意思怎么操作
提示不是提示的很清楚了,,,
肯定是你第一个字段是自增字段,才报这样的提示的,,,要么你可以不写
那个什么1,2,3,自增可以自动插入;
要么就使用语句
setidentity_insert表名on
go
insertinto(字段名1,字段名2)(注意:这里必须写字段名,要不报错)
values(xxxx)
‘肆’ sql查询数据库中有某个值的所有表
1、首先在电脑中打开Microsoft SQL Server,查询所有数据库。
‘伍’ values在数据库中的解释是什么
在数据库中 values 是关键字,作用大部分是取值的。语法 insert into。表名[列名列表]:values(值列表)。
例如向数据库插入一条数据,定义sql语句如:insert into student (name,sex,address) values ('','男','beijing') ,就是使用value关键字。
在html中:
values 属性为 input 元素设定值。
对于不同的输入类型,values 属性的用法也不同:
type="button","reset","submit" - 定义按钮上的显示的文本。
type="text","password","hidden" - 定义输入字段的初始值。
type="checkbox","radio","image" - 定义与输入相关联的值。
注释:<input type="checkbox"> 和 <input type="radio"> 中必须设置 value 属性。
注释:value 属性无法与 <input type="file"> 一同使用。
‘陆’ sql语言中,各种数据类型代表的含义是什么
(1)数值型
数值是诸如32 或153.4 这样的值。MySQL 支持科学表示法,科学表示法由整数或浮点数后跟“e”或“E”、一个符号(“+”或“-”)和一个整数指数来表示。1.24E+12 和23.47e-1 都是合法的科学表示法表示的数。而1.24E12 不是合法的,因为指数前的符号未给出。
浮点数由整数部分、一个小数点和小数部分组成。整数部分和小数部分可以分别为空,但不能同时为空。
数值前可放一个负号“-”以表示负值。
(2)字符(串)型
字符型(也叫字符串型,简称串)是诸如“Hello, world!”或“一个馒头引起的血案”这样的值,或者是电话号码87398413这样的值。既可用单引号也可用双引号将串值括起来。
初学者往往分不清数值87398143和字符串87398143的区别。都是数字啊,怎么一个要用数值型,一个要用字符型呢?关键就在于:数值型的87398143是要参与计算的,比如它是金融中的一个货款总额;而字符型的87398143是不参与计算的,只是表示电话号码,这样的还有街道号码、门牌号码等等,它们都不参与计算。
(3)日期和时间型
日期和时间是一些诸如“2006-07-12”或“12:30:43”这样的值。MySQL还支持日期/时间的组合,如“2006-07-12 12:30:43”。
(4)NULL值
NULL表示未知值。比如填写表格中通讯地址不清楚留空不填写,这就是NULL值。
我们用Create Table语句创建一个表,这个表中包含列的定义。例如我们在前面创建了一个joke表,这个表中有content和writer两个列:
定义一个列的语法如下:
其中列名由col_name 给出。列名可最多包含64个字符,字符包括字母、数字、下划线及美元符号。列名可以名字中合法的任何符号(包括数字)开头。但列名不能完全由数字组成,因为那样可能使其与数据分不开。MySQL保留诸如SELECT、DELETE和CREATE这样的词,这些词不能用做列名,但是函数名(如POS 和MIN)是可以使用的。
列类型col_type表示列可存储的特定值。列类型说明符还能表示存放在列中的值的最大长度。对于某些类型,可用一个数值明确地说明其长度。而另外一些值,其长度由类型名蕴含。例如,CHAR(10) 明确指定了10个字符的长度,而TINYBLOB值隐含最大长度为255个字符。有的类型说明符允许指定最大的显示宽度(即显示值时使用多少个字符)。浮点类型允许指定小数位数,所以能控制浮点数的精度值为多少。
可以在列类型之后指定可选的类型说明属性,以及指定更多的常见属性。属性起修饰类型的作用,并更改其处理列值的方式,属性有以下类型:
(1)专用属性用于指定列。例如,UNSIGNED 属性只针对整型,而BINARY属性只用于CHAR 和VARCHAR。
(2)通用属性除少数列之外可用于任意列。可以指定NULL 或NOT NULL 以表示某个列是否能够存放NULL。还可以用DEFAULT,def_value 来表示在创建一个新行但未明确给出该列的值时,该列可赋予值def_value。def_value 必须为一个常量;它不能是表达式,也不能引用其他列。不能对BLOB 或TEXT 列指定缺省值。
如果想给出多个列的专用属性,可按任意顺序指定它们,只要它们跟在列类型之后、通用属性之前即可。类似地,如果需要给出多个通用属性,也可按任意顺序给出它们,只要将它们放在列类型和可能给出的列专用属性之后即可。
2. MySQL的列(字段)类型
数据库中的每个表都是由一个或多个列(字段)构成的。在用CREATE TABLE语句创建一个表时,要为每列(字段)指定一个类型。列(字段)的类型比数据类型更为细化,它精确地描述了给定表列(字段)可能包含的值的种类,如是否带小数、是否文字很多。
MySQL有整数和浮点数值的列类型,如表1所示。整数列类型可以有符号也可无符号。有一种特殊的属性允许整数列值自动生成,这对需要唯一序列或标识号的应用系统来说是非常有用的。
类型 说明
TINYINT 非常小的整数
SMALLINT 较小整数
MEDIUMINT 中等大小整数
INT 标准整数
BIGINT 较大整数
FLOAT 单精度浮点数
DOUBLE 双精度浮点数
DECIMAL 一个串的浮点数
表1:数值列类型
每种数值类型的名称和取值范围如表2所示。
类型说明 取值范围
TINYINT[(M)] 有符号值:-128 到127
无符号值:0到255(0 到28 - 1)
SMALLINT[(M)] 有符号值:-32768 到32767(- 215 到215 - 1)
无符号值:0到65535(0 到21 6 - 1)
MEDIUMINT[(M)] 有符号值:-8388608 到8388607(- 22 3 到22 3 - 1 )
无符号值:0到16777215(0 到22 4 - 1)
INT[(M)] 有符号值:-2147683648 到2147683647(- 231 到231- 1)
无符号值:0到4294967295(0 到232-1)
BIGINT[(M)] 有符号值:-9223372036854775808 到 9223373036854775807(- 263到263-1)
无符号值:0到18446744073709551615(0到264 – 1)
FLOAT[(M, D)] 最小非零值:±1.175494351E - 38
DOUBLE[(M,D)] 最小非零值:±2.2250738585072014E - 308
DECIMAL (M, D) 可变;其值的范围依赖于M 和D
表2:数值列类型的取值范围
类型说明 存储需求
TINYINT[(M)] 1字节
SMALLINT[(M)] 2字节
MEDIUMINT[(M)] 3字节
INT[(M)] 4字节
BIGINT[(M)] 8字节
FLOAT[(M, D)] 4字节
DOUBLE[(M, D)] 8字节
DECIMAL (M, D) M字节(MySQL < 3.23),M+2字节(MySQL > 3.23 )
表3:数值列类型的存储需求
MySQL提供了五种整型: TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT。INT为INTEGER的缩写。这些类型在可表示的取值范围上是不同的。整数列可定义为UNSIGNED从而禁用负值;这使列的取值范围为0以上。各种类型的存储量需求也是不同的。取值范围较大的类型所需的存储量较大。
MySQL 提供三种浮点类型: FLOAT、DOUBLE和DECIMAL。与整型不同,浮点类型不能是UNSIGNED的,其取值范围也与整型不同,这种不同不仅在于这些类型有最大值,而且还有最小非零值。最小值提供了相应类型精度的一种度量,这对于记录科学数据来说是非常重要的(当然,也有负的最大和最小值)。
在选择了某种数值类型时,应该考虑所要表示的值的范围,只需选择能覆盖要取值的范围的最小类型即可。选择较大类型会对空间造成浪费,使表不必要地增大,处理起来没有选择较小类型那样有效。对于整型值,如果数据取值范围较小,如人员年龄或兄弟姐妹数,则TINYINT最合适。MEDIUMINT能够表示数百万的值并且可用于更多类型的值,但存储代价较大。BIGINT在全部整型中取值范围最大,而且需要的存储空间是表示范围次大的整型INT类型的两倍,因此只在确实需要时才用。对于浮点值,DOUBLE占用FLOAT的两倍空间。除非特别需要高精度或范围极大的值,一般应使用只用一半存储代价的FLOAT型来表示数据。
在定义整型列时,可以指定可选的显示尺寸M。如果这样,M应该是一个1 到255的整数。它表示用来显示列中值的字符数。例如,MEDIUMINT(4)指定了一个具有4个字符显示宽度的MEDIUMINT列。如果定义了一个没有明确宽度的整数列,将会自动分配给它一个缺省的宽度。缺省值为每种类型的“最长”值的长度。如果某个特定值的可打印表示需要不止M个字符,则显示完全的值;不会将值截断以适合M个字符。
对每种浮点类型,可指定一个最大的显示尺寸M 和小数位数D。M 的值应该取1 到255。D的值可为0 到3 0,但是不应大于M - 2(如果熟悉ODBC 术语,就会知道M 和D 对应于ODBC 概念的“精度”和“小数点位数”)。M和D对FLOAT和DOUBLE 都是可选的,但对于DECIMAL是必须的。在选项M 和D时,如果省略了它们,则使用缺省值。
2.2字符串行类型
MySQL提供了几种存放字符数据的串类型,其类型如下:
类型名 说明
CHAR 定长字符串
VARCHAR 可变长字符串
TINYBLOB 非常小的BLOB(二进制大对象)
BLOB 小BLOB
MEDIUMBLOB 中等的BLOB
LONGBLOB 大BLOB
TINYTEXT 非常小的文本串
TEXT 小文本串
MEDIUMTEXT 中等文本串
LONGTEXT 大文本串
ENUM 枚举;列可赋予某个枚举成员
SET 集合;列可赋予多个集合成员
表4:字符串行类型
下表给出了MySQL 定义串值列的类型,以及每种类型的最大尺寸和存储需求。对于可变长的列类型,各行的值所占的存储量是不同的,这取决于实际存放在列中的值的长度。这个长度在表中用L 表示。
类型说明
最大尺寸
存储需求
CHAR( M)
M 字节
M 字节
VARCHAR(M)
M 字节
L + 1字节
TINYBLOB, TINYTEXT
28- 1字节
L + 1字节
BLOB, TEXT
216 - 1 字节
L + 2字节
MEDIUMBLOB, MEDIUMTEXT
224- 1字节
L + 3字节
LONGBLOB, LONGTEXT
232- 1字节
L + 4字节
ENUM(“value1”, “value2”, ...)
65535 个成员
1 或2字节
SET (“value1”, “value2”, ...)
64个成员
1、2、3、4 或8字节
表5:串行类型最大尺寸及存储需求
L 以外所需的额外字节为存放该值的长度所需的字节数。MySQL 通过存储值的内容及其长度来处理可变长度的值。这些额外的字节是无符号整数。请注意,可变长类型的最大长度、此类型所需的额外字节数以及占用相同字节数的无符号整数之间的对应关系。例如,MEDIUMBLOB 值可能最多224 - 1字节长并需要3 个字节记录其结果。3 个字节的整数类型MEDIUMINT 的最大无符号值为224 - 1。这并非偶然。
2.3日期时间列类型
MySQL 提供了几种时间值的列类型,它们分别是: DATE、DATETIME、TIME、TIMESTAMP和YEAR。下表给出了MySQL 为定义存储日期和时间值所提供的这些类型,并给出了每种类型的合法取值范围。
类型名 说明
DATE “YYYY-MM-DD”格式表示的日期值
TIME “hh:mm:ss”格式表示的时间值
DATETIME “YYYY-MM-DD hh:mm:ss”格式
TIMESTAMP “YYYYMMDDhhmmss”格式表示的时间戳值
YEAR “YYYY”格式的年份值
表6:日期时间列类型
下面举个例子:
这个例子创建一个student表,这个表中有name字段,字符类型列,不允许NULL(空值)。有Chinese、Maths和English三个整数类型列。还有个Birthday日期类型列。
CREATE TABLE student
(
Name varchar(20) NOT NULL,
Chinese TINYINT(3),
Maths TINYINT(3),
English TINYINT(3),
Birthday DATE
)
‘柒’ 如何使带值参数的SQL表函数返回值列表的关联表
使用union或者union all来合并两个结果集
不过要求这两个结果集必须有相同列
select a,b from F(X) union select a,b from A
union 和union all的区别是 如果两个结果集中有重复的union会去掉重复值,而union all 不会
‘捌’ SQL中values什么意思做什么的作用是什么
简单来说,是多条sql集合,并要求集合中的sql全部成功执行,不然就全部不执行..当然,与简单的多条sql还是有一点区别的。应用例子:银行转账,要求一个账户减少,另一个账户增加,不能这边减少了那边没有增加..这就需要用到存储过程。
拓展:
1、SQL语言,是结构化查询语言(StructuredQueryLanguage)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
2、SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输入与管理的接口。SQL语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。
‘玖’ sql基本命令都是什么含义,求列表解释
--SQL基本命令
--数据定义语言
Create(创建)
Alter(更改)
Drop(删除)
--数据操纵语言
Insert(插入)
select(选择)
delete(删除)
update(更新)
--事务控制语言
commit(提交)
savepoint(保存点)
rollback(回滚)
--数据控制语言
Grant(授权)
Revoke(回收)
--Orcale数据类型
--字符数据类型
char这种数据类型的列长度可以是1到2000个字节。
varchar2该数据类型的大小在1-4000个字节范围内
long这种数据类型可存储最大2GB。
--数值数据类型
number数据类型可以存储正数、负数、零、定点数和精度为38位的浮点数。
--日期时间数据类型
date数据类型使用七个字节固定长度,每个字节分别存储世纪、年、月、日、小时、分和秒。从4712年1月1日到公元9999年12月13日。
Timestamp数据类型用于存储日期的年、月、日以及时间的小时、分和秒值。秒值是精确到小数点后6位。该数据类型还包括了时区信息。
--Raw和LongRaw数据类型
Raw数据类型
Raw数据类型用于存储基于字节的数据。如二进制数据或字节串,该数据类型最多能存储2000个字节。
LongRaw数据类型用于存储可变长度的二进制数据,最多能存储2GB。(该数据不能使用索引,long受到的所有限制对longraw数据类型同样有效)
--LOB数据类型
Clob数据类型能够存储大量字符数据。该数据类型可以存储单字节数据和多字节字符数据。clob可用于存储非结构化的XML文档。
Blob数据类型可以存储较大的二进制对象,如图形、视频剪辑和声音剪辑等。
Bfile数据类型能够将二进制文件存储二进制文件存储在数据库外部的操作系统文件中。Bfile列存存储一个Bfile定位器。它指向位于服务器文件系统上的二进制文件。支持的文件最大为4GB。
--查看指定伪列用户(scott)
select rowid,ename,comm from emp where sal=1500
--查看伪列数
select * from emp where rownum<2
--数据定义语言
create table (需要创建的表)
alter table (需要更改的表)
truncate table (需要截断的表)
drop table (需要删除的表)
--create table保命令
create table [所有者即模式的名称,如果用户在自己的模式中创建表,则可以不指定所有者名称。][需要创建的表名]
([列的名称] [数据类型及长度]);
--例子(在当前用户下创建了一张名为(Cool)的表,里有有三个列分别是:Cool_ID、Cool_Name、Cool_like):
create table Cool(
Cool_ID number,
Cool_Name varchar(20),
Cool_like varchar(30));
--在表中插入数据
insert into Cool values(8850,'酷儿','编写Java应用程序');
insert into Cool values(8851,'酷儿','编写Java应用程序1');
insert into Cool values(8852,'酷儿','编写Java应用程序2');
insert into Cool values(8853,'酷儿','编写Java应用程序3');
insert into Cool values(8854,'酷儿','编写Java应用程序4');
insert into Cool values(8856,'酷儿','编写Java应用程序5');
insert into Cool values(8855,'酷儿','编写Java应用程序6');
--alter table命令
alter table [需要更改的表命称] [模式(modify=更改,add=添加,drop=删除)] (表中的列名)
--例子
--更改表中Cool_like列数据长度更改为15
alter table cool modify (cool_name varchar(15));
--插入数据进行测试第一条数据可以顺利插入到列中,而第二条数据则不能插入列数,应为它的长度己超过了15个字符。(执行结果为:Error位于第一行:ora-01401:插入数据值对于列过大);
insert into Cool values(8855,'酷儿Test','编写Java应用程序、游戏等等。');
insert into Cool values(8855,'测试用户名,此列长度将超过15个字符。','编写Java应用程序、游戏等等。');
--在表中添加一个列,在表中添加一个Cool_Tel来存储电话号码。
alter table Cool add (Cool_Tel varchar(12));
insert into Cool values(8856,'酷儿8856','编写Java应用程序','13529424360');
--在表中删除Cool_Tel列;
alter table cool drop column cool_tel;
--Truncate table命令
--删除表中的记录而不删除列,此方法不能回滚因为它不使用事务处理。(优点:删除速度快)
truncate table cool;(执行结果:表己截断)
--desc查看cool表的结构
desc cool;
--drop table命令
--删除Cool表。此方法可以使用事务回滚。
drop table cool;
--数据操纵语言
--选择命令(Select)
select * from emp;(查询表中所有数据)
select * from emp where ename='adams';(按条件查询表中数据)
select distinct * from emp;(不选择表中的重复行,使用distinct关键字);
select * from cool where cool_name='酷儿' order by cool_id asc;(按Coo_ID进行升序排序)
select * from cool where cool_name='酷儿' order by cool_id desc;(按Coo_ID进行降序排序)
create table CoolDemo as select * from cool;(用现有表Cool创建一个新表,数据包括在select语包里,可以是所有,也可以是指定的列)
create table CoolDemo2 as select * from cool where 1 = 2;(此条件不成立,所有只创建了表结构,没有数据)
select cool_id+10 sum ,cool_name from cool;(此条语句使用了别名sum并且是cool_id+10语后的值,但原始值不会改变。)
--插入命令(Insert)
insert into cool values(8857,'酷儿','编写Java应用程序');(在Cool表中插入数据)
insert into cool(cool_name,cool_like) values('酷儿','编写Java应用程序null');(只插入姓名列(cool_name)和爱好列(cool_like)的值)
insert into cool values(8858,'酷儿',null);(在cool表中跳过了cool_like列,使用空值来填充)
alter table cool add(cool_date date);(在表中添加一个日期列,以便下面插入日期值)
insert into cool values(8859,'酷儿','编写Java应用程序8859','22-11月-06');(此条语句在Cool表中cool_date列插入了2006年11月12日的日期)
insert into cool select * from cooldemo;(此条语句插入了来自期它表的数据)
--更新命令(Update)
update cool set cool_name='酷儿至酷' where cool_name='酷儿';(如果cool_name列的值等于(酷儿)那么就将它更改为(酷儿至酷),这是有条件的查询)
update cool set cool_name='酷儿';(此条语句将cool_name列的所有值更改为(酷儿))
--删除命令(delete)
delete cool where cool_like='编写Java应用程序null';(如果cool表中cool_like列值等于(编写Java应用程序null)就删除它)
--提交命令(Commit)
commit;(提交事务)
commit work;(功能同上)
--标记命令(SavePoint)
savepoint savepoint_id;(它用来标记事务中可以应用回滚的点。)
--回滚事务(RollBack)
rollback;
rollback work;
rollback to savepoint [自己标记的记录点];
--数据控制语言
--授权命令(Grant)
Grant [操作权限如:select,update,delete等] on [表名称] to [用户名]
grant select,update,delete on cool to hedong911;(此条语句授权给用户hedong911查询、更新、删除cool表的权力)
grant update(cool_id,cool_name) on cool to hedong911;(此条语句授权给用户hedong911更新cool表(cool_id,cool_name)列权力)
grant select on cool to hedong911 with grant option;(此语句授权的用户hedong911可以给其它用户授权)
--回收授权命令(revoke)
revoke select,update,delete on cool to hedong911;(此条语句回收了hedong911的查询、更新、删除权力)
--算术操作符
(跳过)
--比较操作符
--比较操作符包括(=、!=、<、>、<=、>=、between……and(检查是否在两个值之间)、in(与列表中的值相匹配)、like(匹配字符模式)和is null(检查是否为空),最后四个操作符还可以和not(非)一起使用如:not between……and等
select * from cool where cool_name!='1';
select * from cool where cool_name like '酷儿';
select * from cool where cool_id < 8853;
select * from cool where cool_id > 8853;
select * from cool where cool_id <= 8853;
select * from cool where cool_id >= 8853;
select * from cool where cool_like in ('编写Java应用程序');
--逻辑操作符
--逻辑操作符包括and(与)、or(或)和now(非);
select * from cool where cool_id <=8856 and cool_id >= 8853;
select * from cool where cool_id =9999 or cool_like in ('编写Java应用程序');
--集合操作符
--联合查询(union)
select * from cool union select * from cooldemo;(此条语句将Cool和CoolDemo两张表的查询结果合拼,并删除重复行)
--联合所有查询(union all)
select * from cool union all select * from cooldemo;(此条语句将Cool和CoolDemo两张表的查询结果合拼,不删除重复行)
--交集查询(intersect)
select * from cool intersect select * from cooldemo;(此条语句查询两张表都有的行)
--减集查询(minus)
select * from cool minus select * from cooldemo;(此条语句返回第二张表没有的数据)
--连接(||)操作符
select ('用户编号:'||cool_id||'姓名是:'||cool_name||'爱好是:'||cool_like||'日期是:'||cool_date) from cool where cool_id=8859;(运行结果:用户编号:8859姓名是:酷儿爱好是:编写Java应用程序8859日期是:22-11月-06)
‘拾’ 在数据库中添加一行的SQL语句怎么写
在数据库中添加一行的SQL语句写法的步骤如下:
我们需要准备的材料分别是:电脑、sql查询器。
1、首先,打开sql查询器,连接上相应的数据库表,以stu2表添加一行数据为例。