前言
数据库是计算机系统中用于存储和管理数据的一种软件系统。它通常由一个或多个数据集合、管理系统和应用程序组成,被广泛应用于企业、政府和个人等各种领域。目前常用的数据库系统包括关系型数据库和非关系型数据库等多种类型,如MySQL、Oracle、SQL Server、PostgreSQL、MongoDB等。不同类型的数据库系统适用于不同的数据存储和处理场景,需要根据具体的业务需求来选择。今天开始我们来从最基础的SQL server开始来学习关系型数据库的建立与使用。
SQL server
SQL Server是由微软公司开发的关系型数据库管理系统(RDBMS),它可以用于存储、处理和管理大量数据。SQL Server支持多种数据访问方式,包括等。SQL Server可以运行在Windows操作系统上,是一个可扩展的、安全的、高性能的数据库系统,提供了许多特性,如数据压缩、分区、索引、日志等,以及内置的业务智能和数据仓库功能。SQL Server还提供了多种辅助工具,如SQL Server Management Studio、SQL Server Configuration Manager等,方便用户进行管理和维护。
SSMS
SSMS(SQL Server Management Studio)是用于管理和操作SQL Server数据库的主要工具。它提供了一个集成环境,可以通过它来等。SSMS 还提供了其他实用工具,如数据库备份和还原、数据库复制、安全性设置、报表生成等。
数据库的基本操作
创建数据库
if exists(select * from sys.databases where name = 'Teacher')
drop database Teacher--删除数据库
create database Teacher
on
(
name = 'Teacher',--逻辑名称
filename = 'D:\SQL\Teacher.mdf',--物理路劲
size = 5MB,--初始大小
filegrowth = 2MB--文件增长方式
)
log on
(
name = Teacher_log,--逻辑名称
filename = 'D:\SQL\Teacher_log.ldf',--物理路径
size = 2MB,--初始大小
filegrowth = 10%--增长方式
)
创建表
-- 切换数据库
use Teacher
--创建表的基本语法
if exists(select *from sys.objects where name = 'Teacher' and type = 'U')
drop table Teacher
create table Teacher
(-- primary key 主键 identity(1,1) 自动增长,初始值为1,增长步数长1
TeacherID int primary key identity(1,1),
TeacherName nvarchar(10) not null,
TeacherPhone nchar(20),
TeacherSex nvarchar(1) default('男') check(TeacherSex= '男' or TeacherSex = '女') not null,
--check 提供选择
-- default('男') 提供默认值
TeacherBirth date not null
--datetime not null
--date 储存年月日
--date 储存年月日时分秒
--smalldatetime 取值 范围更小
)
-- getdate() 获取现在时间
--decimal(12.2) 2小数点后面两位,12总长度
--unique 唯一
-- char 定长 char(10) 无论数据是否达到10字节都占用10字节
-- varchar 变长 varchar(10) 最多占用10个字节,根据数据变化大小
--text 长文本
--char varchar next 前面加n:储存 unicode字符,对中文友好
-- nvarchar(100) 存储100个或者100个汉字
SQL server基本操作语句
CREATE DATABASE MyDatabase;
--创建数据库
CREATE TABLE Customers ( CustomerID INT PRIMARY KEY, FirstName VARCHAR(50), LastName VARCHAR(50), Email VARCHAR(100), Phone VARCHAR(20) );
--创建表
INSERT INTO Customers (CustomerID, FirstName, LastName, Email, Phone) VALUES (1, 'John', 'Doe', 'john.doe@email.com', '555-1234');
--插入数据
UPDATE Customers SET Phone = '555-5678' WHERE CustomerID = 1;
--更新数据
DELETE FROM Customers WHERE CustomerID = 1;
--删除数据
SELECT * FROM Customers;
--查询数据
SELECT * FROM Customers WHERE LastName = 'Doe';
--使用条件查询数据
SELECT COUNT(*) FROM Customers;
--使用聚合函数计算数据
SELECT Customers.FirstName, Orders.OrderDate FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
--整合多张表的数据