表相關操作

2021-08-07 17:11:21 字數 3123 閱讀 7386

使用t-sql建立表:

use database_name           --指向操作的資料庫

go --批處理的標記

create table table_name --新建表

( column_name 資料型別 identity(1000,1) not null,

...,

... --最後一列不需要逗號

)go

說明:

資料型別:int varchar(),char()..

標識列:identity(a,b) a、b都是正整數,a是開始數,b是增長幅度;標識列不允許為空,一般把標識列設定主鍵約束;

mysql建立表

use database_name         --指向操作的資料庫

create table table_name --建立表

( id int not null auto_increment, --列名 資料型別 是否允許空 自動增長

name varchar(20),

primary key(id) --設定id列是主鍵列

);

t-sql增加約束

alter  table  表名   add constraint   約束名  約束型別  約束的具體說明

約束名 ===》 約束型別_約束列

主鍵約束(primary key) ---》 pk_id

唯一約束(unique key) ----》uq_username

預設約束(default key) ----》df_gender

檢查約束(check key)  ----》ck_gender

外來鍵約束(foreign key)----》fk_sortid

例子1:

alter table userid add constraint pk_id primary key (id)                                        --id列增加主鍵約束

alter table userid add constraint df_gender default ('男') for gender --gender列增加預設約束

alter table userid add constraint ck_password check(len(password)>=6) --password列增加檢查約束,限制長度大於等於6

例子2:外來鍵約束:主表--orderinfo子表---userinfo外來鍵列userid

alter table userinfo add constraint fk_userid foreign key (userid) references orderinfo (userid)
外來鍵約束需要注意:

主表、子表的資料型別、長度必須完全一樣;

外來鍵約束要求引用的表中(子表中)需要設定有主鍵約束;

向已有資料的表中增加約束 語法:

alter table 表名 with nocheck  add constraint  約束名  約束型別  約束的具體說明

注意:對錶中的現有的資料不坐約束檢查,只對約束只有再增加的資料進行檢查。

刪除約束

alter table 表名 drop constraint 約束名 

eg:

alter table  userid drop constraint pk_id

mysql:

alter table  表名  rename  新錶名

sqlserver 儲存過程:

exec sp_renamedb  'oldname' ,'newname'

增加列alter table 表名 add 列名   資料型別   是否為空

alter table test2 add gender varchar(4);
刪除列 alter  table  表名  drop column  列名

alter table test2 drop column gender;
修改列名

mysql:

alter  table  表名 change 舊列名  新列名  資料型別  是否為空

alter table test2 change name username varchar(10) null;
sqlserver:

exec sp_rename   't_student.name','nn','column';

oracle

lter table bbb rename column nnnnn to hh int;

修改列屬性 資料型別、是否為空

mysql:

alter  table 表名

modify  列名 新的資料型別  是否為空

alter table test2 modify id bigint not null;
sql server:

alter  table  表名  alter  column  列名  新的資料型別  是否為空

如何通過乙個mysql客服端鏈結乙個mysql遠端伺服器?

mysql -u 使用者名稱 -p -h 遠端主機ip位址 -p 遠端的埠號

mysql -u root -p -h localhost -p 3306

順序表相關操作

include define max 100 定義順序表的最大值 順序表的定義 typedef struct sequence list 函式功能 順序表的初始化 置空表 函式引數 指向sequenc list型變數的指標head 函式返回值 空 檔名 sequenc list.h 函式名 slt ...

鍊錶相關操作

include include using namespace std 鍊錶結構體 struct listnode 是否為空 bool isempty listnode list position是否是最後乙個 bool islast listnode position,listnode list ...

oracle表相關操作

新增字段 可以單個,也可以多個 alter table 表名add 列名 修改字段 alter table 表名modify 列名 刪除字段 alter table 表名drop column 列名 新增主鍵 alter table 表名add constraint pk 約束名primary ke...