SQL创建一个表 我想让用户名为主键 不能为空 那它的类型设置成啥类型呀 是char还是text还是int

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL创建一个表 我想让用户名为主键 不能为空 那它的类型设置成啥类型呀 是char还是text还是int相关的知识,希望对你有一定的参考价值。

给我说说他们SQL中数据类型的区别 还有意义吧 看不到他们什么vachar nchar ..............
看到你们写的我已经解决好了 我设置成的是varchar 可以用了 对了就就是标识怎么设置呀 设置两个标识 0代表男 1代表女 默认值是0 还有就是外键是怎么设置的呀 给忘记呢

用户名当然不能是int,int表示整数,用户名一般是汉字或者英文,也不能使用text,text是文本文件,当有大量的文字,并且超过255个时候才会用,比如一本书的简介,一般默认是8kb,用char,或者varchar,char时你要设定长度,有时候如果长度不足,会浪费资源,大多说使用varchar,这个可以自动伸缩字节的长度,不浪费空间与资源。
还有其他的你再问,我具体的给你回答。
参考技术A 应为char,
但一般用户名有可能重名,建议增加用户号。
参考技术B sql中字段的数据类型共有25中,分别是Binary [(n)] ·Varbinary [(n)] ·Char [(n)] ·Varchar[(n)] ·Nchar[(n)] ·Nvarchar[(n)] ·Datetime ·Smalldatetime ·Decimal[(p[,s])] ·Numeric[(p[,s])] ·Float[(n)] ·Real ·Int ·Smallint ·Tinyint ·Money ·Smallmoney ·Bit ·Cursor ·Sysname ·Timestamp ·Uniqueidentifier ·Text ·Image ·Ntext ,其中常用的是char ,varchar,int,你想表达的sql语句可以这样:create tables user values(username char(20) not null primary key); 参考技术C 用户名肯定是字符型的,varchar2,你要让用户名为主键,其实这是一个约束,而不是一个类型,主键是不可能允许为空的,所以你只需创建主键就行,具体是这样的,如果你表已经建了可以用这个语句: alter table tablename add constraint [primary key name] primary key (username);
如果你没建表就这样
create table tablename(username varchar2(10) primary key);
参考技术D alter table SC modify Grade int; 第5个回答  2010-12-09 成为主键,这个是数据的约束
什么类型就是比如你说的char,varchar什么的。
我不知道你是想知道些什么。呵呵。。。再明确点,我帮你解答。

SQL server约束

约束的概念:确保在列中输入有效的值并维护表之间的关系。


Primary key约束

功能:primary key(主键约束),一个表中只能有一个,不能有空值,不能有重复值.

创建表时定义约束:字段名 数据类型[长度] primary key

Unique约束
功能:unique(唯一约束), 指定在同一列中的两行不能有相同的值,只能有一行为空值。

创建表时定义约束:字段名 数据类型 unique

Default约束

功能:执行insert语句时将默认值自动插入约束所在的列

创建表时定义约束:字段名 数据类型 default 默认值
Default 约束注意事项
1、每列只能定义一个default约束。
2、不能用于有identity属性的列
3、如果定义的默认值长于其对应字段的允许长度,那么输入到表中的默认值将被截断。
4、有default约束的字段,可插入其他的值,若不插入, 则以默认值为纪录值,且后面创建的默认约束对已
经存在的数据没有影响.

Check约束
功能:check(检查约束),每次执行Insert/update语句时,该约束要校验数据的合法性。

创建表时定义约束:字段名 数据类型 check(条件)

Check约束注意事项
1、一个表中可以定义多个检查约束,但每个字段只 能定义一个检查约束。
2、当执行insert语句或者update语句时,检查约束 将验证数据。
3 、如果对已经有数据的表添加约束,可以用with nocheck避免对以前的数据做检查.

Foreign key 约束

功能:确保主关键字(主表中)和外关键字(辅表中)的关系。
创建表时定义约束:字段名 数据类型 foreign key(字段名) references 表名(字段名)
注意:foreign Key子句中指定的列数和数据类型必须和在references子句中的列数和数据类型匹配。且关联
的表的字段必须设置为主键.

修改约束
修改表时添加约束
alter table 表名
add constraint 约束名 primary key(字段名) –-主键
add constraint 约束名 unique (字段名) --唯一
add constraint 约束名 default(默认值) for 字段名 –默认
add constraint 约束名 check(条件) –检查
add constraint 约束名 foreign key(字段名) references 主键表(参照字段名) --外键
删除约束
语法:
alter table 表名 drop 约束名


【例】 删除 xs表的pk_xs约束。
alter table xs drop constraint pk_xs


注意:
1.要删除被约束的列,必须先删除约束
2.存在外键约束时,要删除主健,必须先删除对应的外键

 

以上是关于SQL创建一个表 我想让用户名为主键 不能为空 那它的类型设置成啥类型呀 是char还是text还是int的主要内容,如果未能解决你的问题,请参考以下文章

sql 表A添加一个非自增长字段B ,B 是主键,不能为空 语句该怎么写 或者怎么设置

ORACLE 创建一个表

mysql怎么使插入的数据不重复?我想让CellNum和TelNum同时为主要键。

mysql “索引”能重复吗?“唯一索引”与“索引”区别是啥?

第六周 SQl 基本语句

MySQL数据库管理——SQL指令集