当前位置:   article > 正文

SqlServer建库、建表、插入数据_sql server 添加新数据表的方法

sql server 添加新数据表的方法

一、建库 

  1. --创建数据库
  2. create database DBTEST1
  3. on --数据文件
  4. (
  5. name = 'DBTEST1', --逻辑名称
  6. filename = 'D:\SQLdata\DBTEST1.mdf', --物理路径和名称
  7. size = 5MB, --文件的初始大小
  8. filegrowth = 2MB --文件的增长
  9. )
  10. log on --日志文件
  11. (
  12. name = 'DBTEST1_log', --逻辑名称
  13. filename = 'D:\SQLdata\DBTEST1_log.ldf', --物理路径和名称
  14. size = 5MB, --文件的初始大小
  15. filegrowth = 2MB --文件的增长
  16. )
  17. create database DBTEST2

 二、建表

  1. --切换数据库
  2. use DBTEST
  3. --创建表的基本语法----------------------------------------------------------
  4. --create table 表名
  5. --(
  6. -- 字段名1 数据类型
  7. -- 字段名2 数据类型
  8. --)
  9. --判断表是否存在
  10. if exists(select*from sys.objects where name='Department' and type='U')
  11. drop table Department
  12. --建表(部门,职级,员工)
  13. create table Department
  14. (
  15. --部门编号,primary key:主键,identity(1,1):自动增长,初始值1,增长步长1
  16. DepartmentId int primary key identity(1,1),
  17. --部门名称
  18. DepartmentIdName nvarchar(50) not null,
  19. --部门描述
  20. DepartmentRemark text
  21. )
  22. --char:定长,char(10),无论存储数据是否真的到了10个字节,都要占用10字节。
  23. --varchar:变长,varchar(10),最多占用10个字节。
  24. --text:长文本
  25. --char,varchar,text前面加n:存储unicode字符,对中文友好。
  26. --varchar(100):存储100个字母或者50个汉字。
  27. --nvarchar(100):存储100个字母或者100个汉字。
  28. create table [Rank]
  29. (
  30. --职级编号,primary key:主键,identity(1,1):自动增长,初始值1,增长步长1
  31. RankId int primary key identity(1,1),
  32. --职级名称
  33. RankName nvarchar(50) not null,
  34. --职级描述
  35. RankRemark text
  36. )
  37. --员工
  38. create table People
  39. (
  40. PeopleId int primary key identity(1,1),--员工编号
  41. DepartmentId int references Department(DepartmentId) not null,--部门(引用外键)
  42. RankId int references [Rank](RankId) not null,--职级(引用外键)
  43. PeopleName nvarchar(50) not null,--姓名
  44. PeopleSex nvarchar(1) default('男') check(PeopleSex='男'or PeopleSex='女'),--性别
  45. PeopleBirth datetime not null,--生日
  46. PeopleSalary decimal(12,2) check(PeopleSalary>=1000 or PeopleSalary<=1000000) not null,--月薪
  47. PeoplePhone varchar(20) unique not null,--电话
  48. PeopleAddress varchar(300),--地址
  49. PeopleAddTime date default(getdate())--添加时间
  50. )
  51. --修改表结构--------------------------------------------------------------
  52. --(1)添加列
  53. --alter table 表名 add 新列表 数据类型
  54. --给员工表添加一列邮箱
  55. alter table People add PeopleMail varchar(200)
  56. --(2)删除列
  57. --alter table 表名 drop column 列名
  58. --删除邮箱这一列
  59. alter table People drop column PeopleMail
  60. --(3)修改列
  61. --alter table 表名 alter column 列名 数据类型
  62. --修改地址varchar(300)为varchar(200)
  63. alter table People alter column PeopleAddress varchar(200)
  64. --维护约束(删除,添加)
  65. --删除约束
  66. --alter table 表名 drop constraint 约束名
  67. --删除月薪的约束
  68. alter table People drop constraint CK__People__PeopleSa__49C3F6B7
  69. --添加约束(check约束)
  70. --alter table 表名 add constraint 约束名 check(表达式)
  71. --添加工资字段约束,在1000-1000000之间
  72. alter table People add constraint CK__People__PeopleSa_1
  73. check(PeopleSalary>=1000 or PeopleSalary<=1000000)
  74. --添加约束(check约束)
  75. alter table 表名 add constraint 约束名 check(表达式)
  76. --添加约束(主键)
  77. alter table 表名 add constraint 约束名 primary key(列名)
  78. --添加约束(唯一)
  79. alter table 表名 add constraint 约束名 unique(列名)
  80. --添加约束(默认值)
  81. alter table 表名 add constraint 约束名 default 默认值 for 列名
  82. --添加约束(外键)
  83. alter table 表名 add constraint 约束名 foreign key(列名)
  84. references 关联表名(列名)

三、插入数据 

  1. --向部门表插入数据
  2. insert into Department(DepartmentIdName,DepartmentRemark)
  3. values('市场部','…………')
  4. insert into Department(DepartmentIdName,DepartmentRemark)
  5. values('软件部','…………')
  6. insert into Department(DepartmentIdName,DepartmentRemark)
  7. values('企划部','…………')
  8. --简写
  9. insert into Department values('硬件部','…………')
  10. --一次性插入多行数据
  11. insert into Department(DepartmentIdName,DepartmentRemark)
  12. select '测试部','…………' union
  13. select '实践部','…………' union
  14. select '产品部','…………'
  15. --向职级表插入数据---------------------------------------
  16. insert into [Rank](RankName,RankRemark)
  17. values('初级','……')
  18. insert into [Rank](RankName,RankRemark)
  19. values('中级','……')
  20. insert into [Rank](RankName,RankRemark)
  21. values('高级','……')
  22. --向员工表插入数据---------------------------------------
  23. insert into People values(7,1,'刘备','男','1987-8-8',12000,'13888888888','荆州',getdate())
  24. insert into People values(2,2,'关羽','男','1988-8-8',50000,'13345675345','荆州',getdate())
  25. insert into People values(1,1,'孙尚香','女','1987-7-9',2000,'13834545678','成都',getdate())
  26. insert into People values(2,3,'小乔','女','1998-2-6',15000,'13842532343','上海',getdate())
  27. insert into People values(5,2,'周瑜','男','1965-5-12',20000,'13835434500','广州',getdate())
  28. insert into People values(3,1,'鲁肃','男','1967-3-11',5300,'13833233233','深圳',getdate())
  29. insert into People values(3,2,'吕蒙','男','1998-8-1',8000,'13987653432','天津',getdate())
  30. insert into People values(5,3,'陆逊','男','1923-1-4',9000,'13426787653','上海',getdate())
  31. insert into People values(4,2,'太史慈','男','1932-4-22',2000,'13234567654','佛山',getdate())
  32. insert into People values(6,1,'黄盖','男','1956-10-11',10000,'11234564435','广州',getdate())
  33. insert into People values(1,3,'貂蝉','女','1934-11-8',4000,'16767686532','湛江',getdate())
  34. insert into People values(2,1,'典韦','男','1947-3-23',9000,'13345265234','杭州',getdate())
  35. insert into People values(3,3,'曹操','男','1904-2-10',15000,'17675437865','北京',getdate())
  36. insert into People values(4,2,'许褚','男','1923-6-13',12000,'17876543087','上海',getdate())
  37. insert into People values(5,1,'曹仁','男','1956-2-11',35000,'15657859098','石家庄',getdate())
  38. insert into People values(6,2,'孙策','男','1928-3-19',50000,'13345648955','郑州',getdate())
  39. insert into People values(7,3,'孙权','男','1978-1-30',50000,'15634765678','哈尔滨',getdate())
  40. insert into People values(6,2,'大乔','女','1913-4-16',21000,'19876546754','长沙',getdate())
  41. insert into People values(7,2,'aaaa','男','1947-2-22',25000,'15678765464','重庆',getdate())
  42. insert into People values(1,1,'张飞','男','1911-9-30',11000,'13245645656','北京',getdate())
  43. insert into People values(4,1,'马超','男','1994-3-6',8000,'13450987907','海南',getdate())

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/612354
推荐阅读
相关标签
  

闽ICP备14008679号