数据库学习-sql sever学习第一天
建立一个数据库
create database da/*建立了一个数据库*/
on PRIMARY (/*主*/
name=da_data1,//名称
filename='d:\sqlw\da_data1.ndf',//位置
size=1mb ,//大小
maxsize =10mb,//最大大小
filegrowth =1mb//增长
),/*“,”用于建立子数据库*/(
name=da_data2,
filename='d:\sqlw\da_data2.ndf',
size=2mb,
maxsize=20mb,
filegrowth=2mb
),filegroup nsm/*分组,nsm为分组名称*/(name=da_data3,
filename='d:\sqlw\da_data3.ndf',
size=3mb,maxsize=30mb,filegrowth=3mb
)
log on /*次*/
(
name=one_log,filename='d:\sqlw\one_log.idf',size=1mb,maxsize=100mb ,filegrowth =2mb
)
注释:文件位置的引号是单引号,不是双引号。
删除一个数据库
drop database da
数据库的选择
use da
及也可以说是打开数据库,但是我要提醒一点:
就是数据库,表不能重复去试着打开,
数据库表的建立
create table tbs(
id int,name char(20)
)//当然可以插入其他字段了
数据库表的删除
drop table tbs
显示所有数据
select *from tbs
当然显示也也以用其他形式也可以操作。这里只是介绍了其中的一种
数据的插入
- 直接在表中输入
- 使用命令
insert into tbs(
id, name
) values(
1,'sdd'
),(
2,'dfs'
)/*当然了你想插入多少就能插入多少*/
建立表时如何建立主键约束
主键约束基本概述
1.约束的概念和作用(约束就是检查官, 检查数据是否有重复的内容)
2.主键约束作用:保证实体完整性
3.PRIMARY KEY是检查两条表中的语句是否有重复
举两个例子吧
1.为玩家表的玩家QQ列添加主键约束
create table sdm1(
user_qq char(20) not null primary key ,
user_name varchar(20) not null ,
user_sex char(2) not null ,
user_birhty date not null ,
user_mobile char(11)not null
)
运行结果如下:
2.为班级学生学号(num)添加主键约束。
create table class(
studemt_id varchar(20)not null primary key,
student_name char(20)not null ,
student_mathscore int not null,
student_chinese int not null ,
student_engliish int not null
)
运行结果如下:
外键约束基本概述
1.外键约束作用,保证引用完整性
2.references关键字的意思是引用的意思。
3.但是必须在父表中建立了主关键字,子表中才能使用,否则报错
下面是两个例子:
1.为分数表添加外键约束
create table scores(
user_qq char(20) not null
references users(user_qq),
gno int not null,
score int not null
运行结果如下:
2.建立表,但请student_name字段引用sdm1表中的user_qq的格式规范。
create table class(
studemt_id varchar(20)not null primary key,
student_name char(20)not null
references sdm1(user_qq),
student_mathscore int not null,
student_chinese int not null ,
student_engliish int not null
)
运行结果如下:
检查约束基本概述
1.检查约束作用,保证域完整性
2.check()关键字的意思是游戏编号等要大于0,否则错误
例子:
例如:为游戏表添加检查约束
create table games(
gno int not null check(gno>0),
)
当输入数据为负数时,例如-23时,会报错具体情况如下图所示
默认约束基本概述
1.作用:保证域完整性
2.DEFAULT默认值
例子如下:
本例子将gnname的默认值设成了34.
自增列基本概述
1.作用:保证实体完整性
2.AUTO_INCREMENT是自增列的关键字//SQL中没有
例子如下
当运行下面的代码片段后
insert into sdm_da(name)values('甲'),('乙')
输出后,结果是
补充:在mysql中的写法如下:
1.作用:保证实体完整性
2.AUTO_INCREMENT是自增列的关键字//SQL中没有
例子如下:
为游戏表添加自增列
CREATE TABLE Games(
GNO INT NOT NULL AUTO_INCREMENT,
GName varchar(50) NOT NULL,
GType varchar(20) NOT NULL
}
查看表的基本结构
sql sever查看表的基本结构
1.sp_help table_name;
如: [sql] sp_help Student;
sql sever查看表的详细结构
2.sp_columns table_name;
如: [sql] sp_columns Student;
推荐使用sp_help table_name,因为这条命令查询出的表结构信息更加详细。
补充:在mysql中的写法如下:
mysql查看表的基本结构
语法:DESCRIBE/DESC TABLE_NAME
结果含义:
Field:字段名
Type:字段类型
NULL:是否可以为空
Key:是否编制索引 D
efault:默认值
Extra:附加信息,如自增列
mysql查看表的详细结构
格式化结果:SHOW CREATE TABLE TABLE_NAME\G
语法:SHOW CREATE TABLE TABLE_NAME