1、打开SQL Server Management Studio管理工具,输入用户名、密码连接上sqlserver数据库。
⑵ SQL中创建一个表之后如何添加默认约束和非空约束
你的语法不对,当然出错,详细语法参阅SQL联机丛书
--添加非空约束
ALTER TABLE LOVO ALTER COLUMN NAME VARCHAR(20) NOT NULL;
--添加默认约束
ALTER TABLE LOVO ADD CONSTRAINT name_default DEFAULT 'zhouqiang' FOR NAME;
⑶ 建数据库表时给一个字段加可为空和默认值为0的约束该怎么加
1、首先打开数据库右键要设置表字段唯一约束的表,显示列表,如图。
⑷ 使用SQL语句create创建一个表 然后让某一列的值固定为空格 可以实现吗 应该怎么写
可以实现,
原理创建一个表,默认值为空字符串
createtableA(keyIdint,infovarchar(20)default'')
go
insertintoA(keyId)values(1);
go
select*fromA
go
truncatetableA
droptableA
请采纳!
⑸ sql语句 给表增加一列并设置默认值
alter table table1 add col1 int default 0
[code="java"]SELECT (
CASE WHEN account_id= ''
THEN 'empty'
when account_id is null
then 'empty'
ELSE account_id
) account_id
FROMaccount
WHERE account_id = 'XXX' OR account_id ='' OR (account_id is NULL)[/code]
(5)sql创建表默认值并且不为空扩展阅读:
SQL默认值是数据库对非空字段数据的一种默认数据,当你设置好默认值的时候,字段设置非NULL,但是插入数据的时候没有给出值,数据库自动会使用默认值插入。如果正常插入值,需要手动添加密码,但是如果有大量的字段可以使用默认值,那么语句会显得有点臃肿。设置字段password默认值。
Createtablestu(
stuIdvarchar2(30)primarykey,
stuNamevarchar2(50)notnull,
stuSexchar(2)check(stuSexin('男','女'))default'男',--oracle中无默认属性?
stuAgeNumber(2)check(stuAge>1),
stuJgvarchar2(30),--籍贯
stuDeptvarchar2(40));
⑹ sql 创建视图时怎么设初始的默认值
在插入数据时,我们如果不给这一列赋值,那么这一列也是有值的,这一列的值就是默认值,如果建表时没有设置默认值,那么我们插入数据时,不给这一列赋值的话,这一列就没有值
⑺ sql怎么创建表
1.1 创建表方法
创建表是指在已存在的数据库中建立新表。这是建立数据库最重要的一步,是进行其他操作的基础。
1.1.1 创建表的语法形式
CREATE TABLE 表名 (
属性名 数据类型 [ 完整性约束条件 ],
属性名 数据类型 [ 完整性约束条件 ],
......
属性名 数据类型 [ 完整性约束条件 ],
)[ 表类型 ] [ 表字符集 ];
SQL 是不区分大小写。下面将会具体介绍SQL,这种创建表是通过什么方式起来的效果怎么样?
命名规范:
1. 命名富有意义 ( 英文或英文组合 )
2. 自定义名称使用小写
3. MySQL 语句使用大写
CREATE TABLE IF NOT EXISTS data_house(
id INT,
name VARCHAR(20);
gender BOOLEAN,
) Engine = MyISAM;
上面 SQL 语句的含义是:如果不存在 text1 表,就创建它,包含 3 个字段 id 、 name 和 gender ,它们的类型分别是整形、字符型和布尔型,创建的表的类型是 MyISAM 。
完整性约束条件表
PRIMARY KEY 标识该属性为该表的主键,可以唯一的标识对应的元组
FOREIGN KEY 标识该属性为该表的外键,是与之联系的某表的主键
NOT NULL 标识该属性不能为空
UNIQUE 标识该属性的值是唯一的
AUTO_INCREMENT 标识该属性的值自动增加,这是 MySQL 的 SQL 语句的特色 (null,0)
DEFAULT 标识该属性设置默认值 (not null defualt 0,not null default 0.0,not null default '')
1.1.2 设置表的主键
主键是表的一个特殊字段。该字段能惟一地标识该表中的每条信息。主键和记录的关系,如同身份证和人的关系。主键用来标识每个记录,每个记录的主键值都不同。身份证是用来标明人的身份,每个人都具有惟一的身份证号。设置表的主键指在创建表时设置表的某个字段为该表的主键。
主键的主要目的是帮组 MySQL 以最快的速度查找到表中的某一条信息。
主键必须满足的条件:
1. 主键必须是唯一的,表中任意两条记录的主键字段的值不能相同;
2. 主键的值是非空值;
3. 主键可以是单一的字段,也可以是多个字段组合。
1. 单字段的主键:
CREATE TABLE student1 (
stu_id INT PRIMARY KEY ,
stu_name VARCHAR(20) NOT NULL,
stu_gender BOOLEAN
) Engine = InnoDB;
2. 多字段主键 :
CREATE TABLE student2 (
stu_id INT,
course_id INT,
grade FLOAT,
PRIMARY KEY( stu_id, course_id )
)Engine = InnoDB;
1.1.3 设置表的外键
外键是表的一个特殊字段。如果字段 sno 是一个表 A 的属性,且依赖于表 B 的主键。那么,称表 B 为父表,表 A 为子表, sno 为表 A 的外键。通过 sno 字段将父表 B 和子表 A 建立关联关系。设置表的外键指在创建表设置某个字段为外键。
设置外键的原则:必须依赖于数据库中已存在的父表的主键;外键可以为空值。
外键的作用 : 是建立该表与其父表的关联关系。父表中删除某条信息时,子表中与之对应的信息也必须有相应的改变。例如, stu_id 就 student 表的主键, stu_id 是 grade 表的外键。当 stu_id 为 '123' 同学退学了,需要从 student 表中删除该学生的信息。那么, grade 表中 stu_id 为 '123' 的所有信息也应该同时删除。
CONSTRAINT 外键别名 FOREIGN KEY ( 属性 1.1, 属性 1.2... 属性 1.n);
REFERENCES 表名 ( 属性 2.1, 属性 2.2,..., 属性 2.n)
CREATE TABLE student3 (
id INT PRIMARY KEY,
stu_id INT,
course_id INT,
# 设置外键
CONSTRAINT C_fk FOREIGN KEY (stu_id, course_id) REFERENCES student2(stu_id, course_id)
) Engine = InnoDB;
1.1.4 设置表的非空约束
非空性是指字段的值不能为空值 (NULL) 。非空约束将保证所有记录中该字段都有值。如果用户新插入的记录中,该字段为空值,则数据库系统会报错。例如,在 id 字段加上非空约束, id 字段的值就不能为空。如果插入记录的 id 字段的值为空,该记录将不能插入。设置表的非空约束是指在创建表时为表的某些特殊字段加上 NOT NULL 约束条件。设置非空约束的基本语法规则如下:
属性名 数据类型 NOT NULL
⑻ sql2000中如何在现有表上添加一列,且不为空
在“企业管理器”中找到相应的表,右键相应的表,选择“设计表”后,便可以在出现的窗口中添加列,在最后一项“允许空”中不打勾就可以了。
如果用SQL语句的话可以如下:
alter table tablename add <新列名> <数据类型> not null default 默认值 with values;
补充:可以的,如果不加默认值的话会提示“ALTER TABLE 只允许添加可包含空值或指定了 DEFAULT 定义的列……”,在后面加个默认值就可以了添加为空的列了!新的sql语句如上
例如在student表中增加一列address,为空值可以如下:
alter table student add address char(40) not null default '广西' with values;
⑼ 怎样用sql新建一个不为空的字段
创建表的时候:
create table table_name
(
id serial, // ---自增,item---
username char(20) not null, //---非空---
nation char(20) default 'China' //---默认值---
)
修改表的时候:
添加:
alter table table_name add(column_name char(120) default '默认值')
修改:
alter table table_name modify(old_name char(120) default '默认值')
我用的是informix数据库,不过整体上是相同的。你可以尝试一下,或者告诉我你用的是什麽数据库,我再帮你解决。
----------------------正义的分割线----------------------
发现你的问题了,你在修改表结构的时候,要求这个栏位不为空,可是你并没有给表的这个栏位赋值,这个效果就貌似"又要马儿跑,又不给草吃"。其实你只要一开始就给这个栏位赋一个默认值就可以了,如果这个栏位的值为空了,数据库就会给这个栏位赋值为默认值,不会出现真正的为空情况。
你尝试下下面的语句:
alter table [table名] add/modify columnname datatype default(defaultvalue)
⑽ SQL创建一个表 我想让用户名为主键 不能为空 那它的类型设置成什么类型呀 是char还是text还是int
用户名当然不能是int,int表示整数,用户名一般是汉字或者英文,也不能使用text,text是文本文件,当有大量的文字,并且超过255个时候才会用,比如一本书的简介,一般默认是8kb,用char,或者varchar,char时你要设定长度,有时候如果长度不足,会浪费资源,大多说使用varchar,这个可以自动伸缩字节的长度,不浪费空间与资源。
还有其他的你再问,我具体的给你回答。