SQL学习日记1

一. 数据库简介

持久化存储,优化读写,保证数据的有效性

1. 关系型数据库

基于E-R模型 使用sql语句进行操作

2. 数据库分类

文档型,服务型

3. 数据库设计

三范式:列不可拆分、唯一标识、引用主键
关系及存储:

  • 1对1:一个对象A对应1个对象B,一个对象B对应一个对象A,关系可存入A或B中
  • 1对多:一个关系A对应一个n个对象B,一个对象B对应一个对象A,关系存入B中
  • 多对多:一个对象A对应n个对象B,一个对象B对应m个对象A,关系存入新建的一个关系表中

二. 登录方式

  1. 开启服务
  2. 登录方式及设置
  3. 添加用户名
  4. 连接局域网中的数据库:启用TCP/IP协议

三. 界面操作

1. 数据库

操作:创建、删除、分离、附加、生成脚本(架构,数据)

2. 表

操作:创建、修改、删除

  • 字段类型介绍:int,bit(0 or 1),datetime,decimal(数字总位数,小数位数位),char/varchar/nvarchar
  • 字符串类型:
    char | 不可变不包含中文
    varchar | 长度可变不包含中文
    nchar | 长度不可变可包含中文
    nvarchar | 长度可变可包含中文
    - 有n表示Unicode编码,每个字符占一个字节;
    - 没有n表示非Unicode编码,英文或数字占一个字节,中文占两个字节;
    - 有var表示字符串长度可变
    - 没有var表示不可变长度,如果长度不够,会在末尾补空格
    如果选择int值时,可以设置标识:此时的值为系统帮助维护,更轻松

3. 约束

实现数据的有效性检查,包括主键,非空,唯一,默认,检查,外键

4. 脚本操作

  • 不区分大小写,字符串使用单引号,尾末不需要加分号(可写可不写)
  • 按照功能分类:
    - DDL(Data Define Language):数据定义语言,用于进行各种数据库对象的创建,主要操作包括create(创建)、alter(修改),drop(删除);
    - DML(Data Mange Language):数据管理语言,用于对表数据的添加,修改,删除,查询,主键操作包括insert,update,delete,select;
    - DCL(Data Control Language):数据控制语言,用于进行权限分配等;
  • 注释:== – 单行注释, /**/ ==多行注释

① 数据库的创建、删除

可以通过查看master数据库中的sysdatabases表,来了解当前存在的(选择某句代码执行)

--创建数据库
create database stuDB--数据库名称
on primary
(
	name = 'stuDB',--主数据文件的逻辑名称
	filename = 'D:\stuDB.mdf',--主数据文件的物理名称
	size = 5mb,--主数据文件的初始大小
	maxsize = 100mb,--主数据文件增长的最大值
	filegrowth = 15% --主数据文件的增长率
)
log on 
(
	name = 'stuDB_log',
	filename = 'D:\stuDB_log.ldf',
	size = 2mb,
	filegrowth = 1mb
)

② 表的创建、修改、删除

通过`select * from sysobjects where xtype='U'`可以查看所有存在的表 
多个列间使用逗号分隔
主键:primary key
标识:identity
非空:not null
惟一:unique
默认:default()
检查:check()
外键:foreign key(列名)references 表名(列名)
--创建表
create table ClassInfo
(
	cId int not NUll primary key identity(1,1),--(seed,step)
	cTitle nvarchar(10)
)
create table StudentInFo
(
	sId int not null primary key identity(1,1),
	sName nvarchar(10) not null,
	sGender bit default(0),--default设置默认值
	sBirthday date,
	sPhone char(11),
	sEmail varchar(20),
	cid int not null,
	foreign key(cid) references classinfo(cid)
)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值