sql server 数据定义常用sql
目录
创建表
创建表TestSql
CREATE TABLE TestSql( Id bigint identity(1,1) not null PRIMARY key )
参考资料
SQL CREATE TABLE 语句
SQL PRIMARY KEY 约束
更新表
创建字段
创建普通字段
--ALTER TABLE table_name ADD column_name datatype ALTER TABLE TestSql ADD Name varchar(10) --创建不为空的字段 ALTER TABLE TestSql ADD Sex int not null
参考资料
修改字段
修改字段的数据类型
--ALTER TABLE table_name ALTER COLUMN column_name datatype --修改数据类型(eg.varchar(10)->varchar(20)),成功 ALTER TABLE TestSql ALTER COLUMN Name_Update varchar(20) --修改数据类型(eg.varchar->int),有索引,则修改失败 ALTER TABLE TestSql ALTER COLUMN Name int
修改字段名称
--例1 把表TABLE的列tid改为id EXEC sp_rename @objname = ‘TABLE.tid‘, @newname = ‘id‘, @objtype = ‘column‘ ? --例2(简写)把表TABLE的列tid改为id EXEC sp_rename ‘TABLE.tid‘, @newname = ‘id‘, @objtype = ‘column‘ --注意: 更改对象名的任一部分都可能会破坏脚本和存储过程。 EXEC sp_rename ‘TestSql.Name‘, @newname = ‘NewName‘, @objtype = ‘column‘
修改表名
--例1 把表TABLE1改为TABLE2 EXEC sp_rename @objname = ‘TABLE1‘, @newname = ‘TABLE2‘ --例2(简写)把表TABLE1改为TABLE2 EXEC sp_rename ‘TABLE1‘,‘TABLE2‘ --注意: 更改对象名的任一部分都可能会破坏脚本和存储过程。 EXEC sp_rename ‘TestSql‘,‘TestSql2‘
参考资料
外键
添加一个TestSqlChild
表,TestSqlChild
表有字段ParentId
依赖TestSql
的主键Id
创建外键
--ALTER TABLE target_table_name --ADD CONSTRAINT FOREIGN_KEY_Name --FOREIGN KEY (target_table_column) --REFERENCES table_name(table_name_column) ALTER TABLE TestSqlChild ADD CONSTRAINT fk_ParentId FOREIGN KEY (ParentId) REFERENCES TestSql(Id)
删除外键
--ALTER TABLE target_table_name --DROP CONSTRAINT FOREIGN_KEY_Name ALTER TABLE TestSqlChild DROP CONSTRAINT fk_ParentId
参考资料
索引
创建索引
--CREATE INDEX index_name ON table_name (column_name) --创建普通索引 CREATE INDEX NameIndex ON TestSql (Name) --创建唯一索引 CREATE UNIQUE INDEX NameIndex ON TestSql (Name)
参考资料
--DROP INDEX table_name.index_name DROP INDEX TestSql.NameIndex
查询目标字段的索引
使用存储过程查询
--use database_name EXEC Sp_helpindex table_name --或者 --EXEC Sp_helpindex table_name EXEC sp_helpindex ‘TestSql‘
结果如下:
删除字段
--ALTER TABLE table_name DROP COLUMN column_name --如果字段有索引,需要先删除索引,才能删除字段(外键类似) ALTER TABLE TestSql DROP COLUMN Sex
删除表
删除表TestSql
DROP TABLE TestSql
查询表结构
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ‘tableName‘ ORDER BY ORDINAL_POSITION
或者
sp_Columns ‘tableName‘
包含注释信息
SELECT A.name AS table_name,B.name AS column_name,D.IS_NULLABLE,D.DATA_TYPE,D.CHARACTER_MAXIMUM_LENGTH,C.value AS column_description FROM sys.tables A INNER JOIN sys.columns B ON B.object_id = A.object_id LEFT JOIN sys.extended_properties C ON C.major_id = B.object_id AND C.minor_id = B.column_id INNER join INFORMATION_SCHEMA.COLUMNS D on D.COLUMN_NAME=B.name and D.table_name=A.name WHERE A.name =‘tableName‘
参考资料
Get Table information (Column Name, Data Type) in SQL Server
SQL Server 的所有表查询和注释说明查询
创建视图
--CREATE VIEW view_name AS --SELECT column_name(s) --FROM table_name --WHERE condition CREATE VIEW QueryTestSql AS SELECT * FROM TestSql WHERE 1=1 --使用 select * from QueryTestSql
参考资料
相关推荐
世樹 2020-11-11
SCNUHB 2020-11-10
bleach00 2020-11-10
FellowYourHeart 2020-10-05
momode 2020-09-11
思君夜未眠 2020-09-04
jessieHJ 2020-08-19
行吟阁 2020-08-09
表格的现在还是较为常用的一种标签,但不是用来布局,常见处理、显示表格式数据。在HTML网页中,要想创建表格,就需要使用表格相关的标签。<table> <tr> <td>单元格内的文字</td> ...
gufudhn 2020-08-09
末点 2020-08-03
nimeijian 2020-07-30
好记忆也需烂 2020-07-28
zlsdmx 2020-07-05
tomson 2020-07-05
tianqi 2020-07-05
onlykg 2020-07-04