本来不想回答这个问题的,但看这些回答者的答案实在让人看不过去。
int 存储数值的范围是:-2的32次方--2的32次发减1,(也就是-247483648至2147483647之间的所有正负整数),所以说int是不需要指定长度为多少的。
解释下char和nchar的异同
首先char众所周知最大取值是8000,每一个字节就是一个存储单位,英文和数值只占一个存储单位,所以char(10)可以最多容纳10个英文或者数字,但中文不一样,在某些系统下有每个中文会占4个存储单位,所以char(10)有可能容纳2个或者4个中文。
而nchar的最大取值范围是4000刚好是char的一半,为什么是4000呢?因为nchar采用了一种标准,这种标准的名字我就忘记了,它规定每个存储单位是2个字节而并非char的每存储单位1字节。所以nchar(10)最大可以容纳10个数字或者英文字母或者标点符号,而中文就最大可以容纳10个或者5个,视系统情况而定。
2. sql语句创建表
CREATE TABLE 语句用于创建数据库中的表。
具体用法为:
CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
)
(2)学生表sql类型长度扩展阅读:
创建表数据类型:
integer(size) int(size) smallint(size) tinyint(size):仅容纳整数。
decimal(size,d) numeric(size,d):容纳带有小数的数字。
char(size):容纳固定长度的字符串
varchar(size):容纳可变长度的字符串
date(yyyymmdd):容纳日期。
参考资料:网络-SQL CREATE TABLE
3. 用sql语句为学生信息表修改dorm列长度为30.
ALTERTABLE学生信息表ALTERCOLUMNdormvarchar(30)
4. SQL命令 “学生”数据库中有 “学生表”、“课程表”和 “成绩表”。 “学生表”中包含学号、姓名
1、首先在电脑上打开数据库软件。然后附加有学生表和成绩表的数据库。
5. 用T_SQL语句在学生表中添加新列电子邮件,类型为字符型,长度为二十个字符,允许为空
alter table 学生表 add email char(20)
6. sql中姓名、性别、学号等数据类型和长度如何写跪求。
学号能用int或者bigint吗?学号只是标记,常理下用
varchar(几位学号就是长度几);名字嘛就是varchar(15)一般不会超过8个汉字吧;性别如果要是规定好的话(比如只能是‘男’或者‘女’)的话就用定长char(2) check in(‘男’,‘女’),否如果不确定填什么的话,就用varchar(5)。一般不会超过两个汉字吧。
7. 解答 SQL 数据库 学生表 成绩表
(3) crate table score
(cid int,
Sid int,
Cname char(30),
Score_1 int,
Score_2 int,
Score_3 int,
)
这个有问题吧,一个课程编号只对应一个课程名称,一个学生的课程只有一个成绩,怎么你这里有三个成绩的。你可以把cid,sid同时在这个表设置成主键,这样cid和sid就可以唯一标示一个学生的一门课程的成绩了。
8. sql中数据类型的长度
1.varchar,0在数据库中作为字符串中的一个字符是不能被隐藏的,而作为int则会被隐藏;
2.datetime,专门用于存放时间的数据类型;
3.字符串,字符只是一字符串中的一个个体,字符只能表示一个字母或汉字;
4.
首先,我们来看下nvarchar和varchar的官方帮助里的说明:
varchar(n)
长度为
n
个字节的可变长度且非
unicode
的字符数据。n
必须是一个介于
1
和
8,000
之间的数值。存储大小为输入数据的字节的实际长度,而不是
n
个字节。所输入的数据字符长度可以为零。varchar
在
sql-92
中的同义词为
char
varying
或
character
varying。
nvarchar(n)
包含
n
个字符的可变长度
unicode
字符数据。n
的值必须介于
1
与
4,000
之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。nvarchar
在
sql-92
中的同义词为
national
char
varying
和
national
character
varying。
二、该如何选择两种字符呢?
varchar和nvarchar都能存储汉字。区别在于,一个汉字占varchar(2),只占nvarchar(1),而字母只占varchar(1),那么在数据库字段求长度的时候,用varchar你就不一定知道它确切的知道它到底有几个字,如果用nvarchar,那么汉字也是nvarchar(1),字母也是nvarchar(1),那么已经很明显了.
同时,varchar的检索快于nvarchar。
至于,具体该选择哪种,看你自己的想法和需求了
5.单引号表示单引号中的数据是实际数据,如:int
test=5;
select
'test'与select
test不同,前者会是字符串test,而后者则是5
6.'
'表示的是一个空格,表明name1与name2中间有一个空格,而三者组合成一个字符串并且所在的列命名为name
9. 写出对应的 SQL语句
1,USE master
GO
CREATE DATABASE Student
ON
( NAME = Student_dat,
FILENAME = 'c:\program files\microsoft sql server\mssql\data\Student.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = 'Student_log',
FILENAME = 'c:\program files\microsoft sql server\mssql\data\Student.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB )2 use studentgocreate TABLE Student
(s_id varchar(20) not null primary key,s_name varchar(10) null,s_age int null,s_sex int null default(0) CHECK (s_sex >= 0 and s_sex <=1),--0代表男 1 代表女
s_Kind varchar(50) null)3. select s_name ,case s_sex when 0 then '男' else '女' end as sex from student where s_Kind ='IS' OR s_Kind ='CS'
10. 写出实现下列操作的SQL语句 (1)建立一个“学生”表Student,它由学号(sno),
--创建表
createtablestudent
(snochar(8)primarykey,
snamechar(10),
genderchar(2),
departmentchar(20),
ageint)
--修改学号长度
(10)notnull;
--删除表
droptablestudent