① sql中規定某列值只能是0或者1的約束該怎麼寫
SQL CHECK約束。
CHECK約束用於限制列中的值的范圍。
如果對單個列定義CHECK約束,那麼該列只允許特定的值。
如果對一個表定義CHECK約束,那麼此約束會在特定的列中對值進行限制。
--刪除表
drop table temp;
--創建表
CREATE TABLE temp (flag NUMBER(1));
--增加約束
ALTER TABLE tempADDCONSTRAINTck_temp_flag CHECK
(flag=1 or flag=0);
--測試效果版
insert into temp values(1);
insert into temp values(0);
insert into temp values(1);
--測試效果(約束禁止插入數據),提示權:違反檢查約束條件
insert into temp values(2);
insert into temp values(3);
SQL CHECK Constraint on CREATE TABLE。
下面的SQL在"Persons"表創建時為"Id_P"列創建CHECK約束。CHECK約束規定"Id_P"列必須只包含大於0的整數。
My SQL:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CHECK (Id_P>0)
)
(1)資料庫怎麼設定1或0擴展閱讀:
不同資料庫的約束寫法:
SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
Id_P int NOT NULLCHECK (Id_P>0),
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
如果需要命名CHECK約束,以及為多個列定義CHECK約束,請使用下面的SQL語法:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')
)
SQL CHECK Constraint on ALTER TABLE.
如果在表已存在的情況下為"Id_P"列創建CHECK約束,請使用下面的SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CHECK (Id_P>0)
如果需要命名CHECK約束,以及為多個列定義CHECK約束,請使用下面的SQL語法:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')
撤銷CHECK約束。
如需撤銷CHECK約束,請使用下面的SQL:
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT chk_Person
② 怎麼在SQL資料庫中填充「0」或者「1」這樣的數據
--循環插入:把十進制轉換成二進制,然後把二進制換成字元型,SUBSTRING取位插入CREATE FUNCTION dbo.inttobit (@number int)
returns varchar(100)
as
BEGIN
DECLARE @i int
DECLARE @j float
DECLARE @m int
DECLARE @OUT1 varCHAR(1)
DECLARE @OUT2 varchar(20)
SET @i=@number
set @out2=' '
WHILE @i>=1
BEGIN
SET @j=@i/2
SET @m=@i%2
SET @i=floor(@j)
SET @OUT1=cast(@m as char(1))
SET @OUT2=@OUT1+@OUT2
END
RETURN @OUT2
END
③ sqlserver2005怎麼設置某欄位取值只能為為0和1
可以用函數嵌套,試一下用 select cast(rand(checksum(newid()))*2 as int)
給你看個例子
create table id (id int primary key not null identity,b as cast(rand(checksum(newid()))*2 as int) )
alter table id add name varchar(20)
insert into id(name)values('掌聲呢')
insert into id(name)values('掌聲呢')
insert into id(name)values('掌聲呢')
select * from id
④ 怎麼把資料庫中的某個表的某個欄位默認值設為0
1、打開資料庫連接,此時顯示已創建的資料庫。
⑤ oracle pl/sql 中的欄位怎樣設置狀態,比如0代表男,1代表女
舉個例子吧:
很多時候資料庫男女欄位這樣設置。
sex varchar2(3) 然後這個欄位存取性別 0 或者1.
當然你在程序調用顯示的時候你需要寫成
select decode(sex,'1','女','0','男','不明') from table;