SqlServer编写数据库表的操作方式(建库、建表、修改语句)_MsSql

学习要点:

  SQL之-建库、建表、建约束、关系SQL基本语句大全.txt举得起放得下叫举重,举得起放不下叫负重。头要有勇气,抬头要有底气。学习要加,骄傲要减,机会要乘,懒惰要除。人生三难题:思,相思,单相思。

SQL之-建库、建表、建约束、关系、部分T-sql语句

---创建库 创建库之前 先进行 查看数据库中是否 已存在 次数据库 有便删除
--- if exists(select * from sys.sysdatabases where name='ConstructionDB')begin use master drop database ConstructionDB end go create database ConstructionDB on()
if exists(select * from sysobjects where name ='ConstructionDB') --查找命令
drop DATABASE ConstructionDB --删除 命令
Create database ConstructionDB
on(
name='ConstructionDB_date',
filename='E:\技能抽查试题第二模块(数据库)\试题——1\任务一\ConstructionDB_date.mdf',
size=3mb,
maxsize=10mb,
filegrowth=5% --增长速度为
)
log on(
name='ConstructionDB_log',
filename='E:\技能抽查试题第二模块(数据库)\试题——1\任务一\ConstructionDB_date.ldf',
size=2mb,
maxsize=5mb,
filegrowth=1mb
)
--使用T-SQL语句创建表
use ConstructionDB
go
---查询 库中是否存在 此表 存在则删除
if exists(select * from sysobjects where name = 'T_flow_step_def')
drop table T_flow_step_def
--- 方法二
IF OBJECT_ID (N'bas_CardType') IS NULL
BEGIN --如果不存在该表,则进行创建
--drop table com_CodeRecord
--流程步骤定义表
create table T_flow_step_def(
Step_no int not null, --流程步骤ID
Step_name varchar(30) not null, --流程步骤名称
Step_des varchar(64) not null, --流程步骤描述
Limit_time int not null, --时限
URL varchar(64) not null, --二级菜单链接
备注 varchar(256) not null,
)
---流程类别表
create table T_flow_type(
Flow_type_id char(3) not null, --流程类别号
Flow_type_name varchar(64) not null, --流程类别名称
In_method_id char(3) not null, --招标方式代号
In_choice_id char(3) not null, --项目选项代号
备注 varchar(256) not null,
)
---标段情况表
create table T_sub_project(
Project_id varchar(32) not null, ---工程编号
Sub_pro_id char(2) not null, -- 标段编号
Flow_type_id char(3) not null, --流程类别号
Sub_pro_name varchar(64) not null,--标段名称(招标项目名称)
Usb_no varchar(64) not null, --密码锁号
In_method_id char(3) not null, --招标方式代号
In_scope_id char(3) not null, --招标范围代号
In_choice_id char(3) not null, --项目选项代号
Proj_type_id char(3) not null, --项目性质代号
Engi_type_id char(1) not null, --工程性质代号
Pack_type char(1) not null, ---发包方式
Grade_type_idv char(1) not null,--评分类别号
Flag_done char(1) not null,--完成标志
Flag_forcebreak char(1) not null,--强制中断标志
备注 varchar(256) not null,
)

--创建一个数据库名为‘sql_test'

create database sql_test
go
--打开数据库 sql_test
use sql_test
go
--建立学生表
create table 学生
(学生编号 char(4) primary key, 学生名字 varchar(50)not null)
go
--修改学生表
alter table 学生
add 班级编号 char(4) null --添加班级编号字段
-- (注意如果添加的字段不为空的话,是不能被添加的)
go
--建立班级表
create table 班级
(班级编号 char(4) primary key ,班级名称 varchar(50)not null)
go
--建立课程表
create table 课程
(课程编号 char(4) primary key ,课程名称 varchar(50) not null,开课日期 datetime )
go
--修改课程表
alter table 课程
add 课程代号 varchar(10) null --添加课程代号字段
go
alter table 课程
drop column 开课日期 --删除开课日期字段
go
alter table 课程
alter column 课程名称 varchar(20) not null --修改课程名称字段
go
--建立一个product_test_one 表,与下个表类似,只不过在constraint前面有个‘逗号'不影响执行
create table product_test_one
(
id char(10) not null, name varchar(20) null, price money default 20.5,quantity smallint null, constraint pk_id primary key clustered (id)
)
go
--建立一个product_test_two 表
create table product_test_two
(
id char(10) not null, name varchar(20) null, price money default 20.5,quantity smallint null constraint pk_id2 primary key clustered (id)
)
go
--删除表 pruduct_test_one表
drop table product_test_one
go
--建立一个student表,使其中的 name 字段具有唯一性
create table student
(
id char(8), name char(10) --表字段
constraint pk_id primary key (id), --添加一个主键约束
constraint uk_name unique (name) --添加一个唯一性约束
)
go
--建立一个student4表,同上 (注意:constraint 与constraint 之间一定要有逗号,否则出错!)
create table student4
(
id char(8), name char(10) --表字段
constraint pk_id4 primary key (id), constraint uk_name4 unique (name)
)
go
-- 删除表student4
drop table student4
go
--建立一个student3表,同上
create table student3
(
id char(8), name char(10), --表字段
constraint pk_id3 primary key (id) ,constraint uk_name3 unique (name)
)
go
--删除表student3
drop table student3
go
--constraint 约束名 check(逻辑条件表达式)
--创建一个‘员工‘表,使其输入的性别字段(sex)只能接受‘m'或则‘f',而不能接受其他数据
--并且为phone字段创建检查约束,限制只能输入类似0108564712之类的数据,而不能随意输入其他数据
create table 员工
(
id char(5),name char(20),sex char(2),phone int
constraint pk_zid primary key (id), --此间一定要有‘逗号'分隔 ,定义主键约束
constraint chk_sex check (sex in (‘f‘,‘m‘) ),
constraint chk_phone check (phone like ‘(010) [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]‘)
)
go
--constraint 约束名 default 约束表达式 [for 字段名]
-- 创建一个表‘默认约束',为字段sex创建默认约束
create table 默认约束
(
id char(5) primary key ,sex varchar(2) constraint con_sex default ‘m‘
)
go
--修改‘默认约束'表
alter table 默认约束
add name varchar(10)null constraint con_name default ‘你好宝贝‘ --增加一个字段为‘name',默认值为‘你好宝贝'
go
--往班级表里添加8条记录
insert into 班级 values(‘bj01‘,‘一班‘)
insert into 班级 values(‘bj02‘,‘二班‘)
insert into 班级 values(‘bj03‘,‘三班‘)
insert into 班级 values(‘bj04‘,‘四班‘)
insert into 班级 values(‘bj05‘,‘五班‘)
insert into 班级 values(‘bj06‘,‘六班‘)
insert into 班级 values(‘bj07‘,‘七班‘)
insert into 班级 values(‘bj08‘,‘八班‘)
go
--显示班级所以记录
select * from 班级
go
--删除班级表里班级编号大于bj06的记录
delete from 班级 where 班级编号>‘bj06‘
go
--显示班级所以记录
select * from 班级
go
--向学生表里添加记录
insert into 学生 values(‘xs01‘,‘one‘,‘bj01‘)
insert into 学生 values(‘xs02‘,‘two‘,‘bj01‘)
insert into 学生 values(‘xs03‘,‘three‘,‘bj01‘)
insert into 学生 values(‘xs04‘,‘four‘,‘bj02‘)
insert into 学生 values(‘xs05‘,‘five‘,‘bj03‘)
insert into 学生 values(‘xs06‘,‘six‘,‘bj02‘)
insert into 学生 values(‘xs07‘,‘seven‘,‘bj04‘)
insert into 学生 values(‘xs08‘,‘eight‘,‘bj03‘)
insert into 学生 values(‘xs09‘,‘nine‘,‘bj04‘)
insert into 学生 values(‘xs10‘,‘ten‘,‘bj05‘)
insert into 学生 values(‘xs11‘,‘eleven‘,‘bj06‘)
insert into 学生 values(‘xs12‘,‘twleve‘,‘bj06‘)
go
--显示学生所有的记录
select * from 学生
go
--连接查询
select * from 学生,班级 where 学生.班级编号=班级.班级编号
go
--以下效果同上一条相同
--选择的连接查询
select 学生.学生编号,班级.班级编号, 学生.学生名字,班级.班级名称 from 学生,班级 where 学生.班级编号=班级.班级编号
go
--以下效果同上一条相同
--查询一班的学生
select* from 学生 where 班级编号 in(select 班级编号 from 班级 where 班级编号=‘bj01‘)
go
--与上面一条查询语句一样功能
select a.学生编号,a.学生名字,a.班级编号 from 学生 as a ,班级 as b where a.班级编号=b.班级编号 and b.班级编号=‘bj01‘
go
--统计一班学生人数
select count(学生编号)as 学生统计 from 学生
where 班级编号 in(select 班级编号 from 班级 where 班级编号=‘bj01‘)
go
--group的用法和count()函数的用法
--统计一班学生人数,并显示学生的名字和所在班级
select count(学生编号)as 学生统计, 学生名字,班级编号 from 学生
where 班级编号 in(select 班级编号 from 班级 where 班级编号=‘bj01‘)
group by 班级编号,学生名字
go

以上所述是小编给大家介绍的SqlServer编写数据库表的操作方式(建库、建表、修改语句),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索sql
, sql建库语句
, sql修改语句
server建表语句
数据库建库语句、mssql数据库查询语句、mssql 语句备份数据库、数据库建库、oracle数据库建库,以便于您获取更多的相关知识。

时间: 2024-11-02 17:17:53

SqlServer编写数据库表的操作方式(建库、建表、修改语句)_MsSql的相关文章

MYSQL系列1_MySQL的安装,可视化工具的使用,以及建库建表等

原文:MYSQL系列1_MySQL的安装,可视化工具的使用,以及建库建表等 大家都知道MYSQL是开源的数据库,现在MYSQL在企业中的使用也越来越多,本人之前用过SQL SERVER数据库,因业务需要和自己的兴趣想要学习MYSQL,对于MYSQL,本人还是新手,请大家多多指正. 1.安装mysql 本人安装的版本是mysql5.6 Mysql 5.6的安装包下载地址:http://pan.baidu.com/s/1o6qHG5G 安装过程比较简单,基本上是下一步下一步,安装过程中需要设置mys

c#-如何用C#实现SQLsever建库建表

问题描述 如何用C#实现SQLsever建库建表 如何用C#实现SQLsever建库建表 库名由textBox输入. 包括三张表:部门信息,员工信息,工资 解决方案 楼主 这是C#的一些项目实例代码 你可以参考一下http://download.csdn.net/album/detail/1361

Mysql 建库建表技巧分享_Mysql

一.两表之间若有关联,你是否还在用主键进行关联? 比如现在有2张表,一张新闻栏目表,一张新闻表,现在两张表需要进行关联,我想大多数人的做法肯定是在新闻表里建一个新闻栏目id,然后把新闻栏目表里的主键ID(自增)写到这个字段里,通过这样进行两表关联. 如果你是这样做的,赶紧改掉这个习惯吧.也许你会问为什么,栏目id是主键啊,又是自增的,为什么这样操作不行?原因其实很简单,栏目我们会增加,也会删除,删除就会造成主键id之间会有断号的情况,由于主键设置为自增,也就是说你之前删掉的栏目,再进行添加,id

MySql表、字段、库的字符集修改及查看方法_Mysql

修改数据库字符集: 复制代码 代码如下: ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];   把表默认的字符集和所有字符列(CHAR,VARCHAR,TEXT)改为新的字符集: 复制代码 代码如下: ALTER TABLE tbl_name CONVERT TO CHARACTER SET character_name [COLLATE ...]  如:ALTER TABLE logtest C

sqlserver中向表中插入多行数据的insert语句_MsSql

下面把在sql吧里一位高手的解决方法,公布下.供大家参考: 假设有个表有 学号.姓名.学校 这三列 然后向这个表中插入 040501 孙明 山东大学 040502 李浩 山东师范 040503 王刚 烟台大学 怎么插入这三行数据啊~~~~~~~ 复制代码 代码如下: insert 表名 select '040504','孙明','山东大学' union select '040502','李浩','山东师范' union select '040503','王刚','烟台大学'

SQLSERVER ISNULL 函数与判断值是否为空的sql语句_MsSql

先来有用的 复制代码 代码如下: use 数据库 update news set author='jb51' where author is null 如果你的不正确那就说明你的什么地方打错了.仔细看下,强烈建议操作以前先备份下数据库. 说明:使用指定的替换值替换 NULL. 语法:ISNULL ( check_expression , replacement_value ) 参数: check_expression:将被检查是否为 NULL 的表达式.check_expression 可以为任

sqlserver中重复数据值只取一条的sql语句_MsSql

复制代码 代码如下: --建立数据表createtable TestData ( ID int identity(1,1) primary key, Data int, ColA varchar(20), ColB varchar(20) ) go --插入测试数据 declare @counts int declare @i int set @counts = 10000 set @i = 1 while @i<=@counts begin insert TestData (Data,ColA

SQLServer中字符串左对齐或右对齐显示的sql语句_MsSql

知识点: 函数 replicate 以下代码是实现如下功能: 复制代码 代码如下: declare @sql varchar(200), --需填充的字符串 @char varchar(4), --填充使用的字符 @len int --填充后的长度 select @sql='abc' select @char=' ' select @len=10 select (right(replicate(@char,@len)+@sql,@len)) 右对齐 ,@sql+replicate(@char,@

mysql修改表、字段、库的字符集

mysql修改表.字段.库的字符集 修改数据库字符集: ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...]; 把表默认的字符集和所有字符列(CHAR,VARCHAR,TEXT)改为新的字符集: ALTER TABLE test CONVERT TO CHARACTER SET character_name [COLLATE ...] 如:ALTER TABLE test CONVERT TO CHAR