--创建数据库
create database dbname
--创建表,这里首先创建两个简单的表,tablename 和 tabname
create table tablename
(
id char(4) ,
name char(16) not null,
sex cahr(2) check(sex in('男','女'))
)
create table tabname
(
id char(4),
tab_name char(16),
)
/*修改表*/
--修改表名
Sp_rename '旧表名','新表名'
--修改字段名
Sp_rename '表名.旧字段名',
'新字段名','column'
--字段修改时不用考虑主键约束,外键约束等,如果有CHECK约束字段名不可改,不能使用alter table修改字段名,计算字段名不可改。
--增加字段
alter table tablename
add tel char(11)
--删除字段
alter tablename
drop column tel;
--给字段增加主键约束
alter tablename
add constraint pk_tablename_001 primary key(id);
--给字段增加外键约束
alter tabname
add constraint fk_tabname_001 foreign key(id) references tablename(id);
--给字段增加check约束
alter tabname with check/with nocheck --在添加条件约束时系统会自动检测表中的原有记录和条件是否冲突,如果冲突则约束无法添加。With check表示检测,可以省略,with nocheck表示不检测,强制添加约束。添加后只能新记录有效。
add constraint ck_tabname_001 check(tab_name like 'tab_%');
--给字段增加唯一约束
alter tabname
add contraint un_tabname_001 unique(id,tab_name);
--开启活关闭约束
alter tabname
check/nocheck constraint un_tabname_001(all);
--删除约束
alter tabname
drop constraint un_tabname_001;
-----------------------------------------------------------------------------
--修改表格的例子
-----------------------------------------------------------------------------
-- 新建数据库‘学生管理’
create database 学生管理
--新建表格 学生(学号,姓名,性别,年龄,住址)
--学号为主键,姓名不允许空,性别的值是男或女,年龄在6到30岁之间,住址默认为‘南京’
create table 学生(
学号 char(10) primary key,
性名 varchar(50) not null,
性别 char(2) check(性别 in('男','女')),
年龄 int ,
住址 varchar(50) ,
constraint ck_xuesheng_nianling check(年龄 between 6 and 30),
constraint DF_xuesheng_zhuzhi default '南京'
)
--新建表格 课程(课号,课名,课时)
--课号为主键,课名不允许空,课时为正值
create table 课程(
课号 char(10) primary key,
课名 varchar(50) not null,
课时 char(10) check(课时>0)
)
--新建表格 选课(课号,学号)
create table 选课(
课号 char(10),
学号 char(10)
)
-- 修改数据库名为‘student’
sp_renamedb '学生管理','student'
--修改表格名称,将学生表改为‘xuesheng’,将课程表名改为‘kecheng’,将选课表名改为‘xuanke’
sp_rename '学生','xuesheng'
sp_rename '课程','kecheng'
sp_rename '选课','xuanke'
--修改xuesheng表中的字段名,将字段学号改为code,将姓名改为name
sp_rename 'xuesheng.学号','code'
sp_rename 'xuesheng.姓名','name'
--为kecheng表添加字段,字段名为序号,要求自动编号(标识)
alter table kecheng add 序号 int identity
--修改xuanke表,要求将课号和学号字段设置为非空约束
alter table xuanke alter column 课号 char(10) not null
alter table xuanke alter column 学号 char(10) not null
--为xuanke表添加外键约束,要求学号被xuesheng表中的学号约束,课号被kecheng表中的课号约束。并且将学号+课号设置为主键码。
alter table xuanke add constraint fk_xuanke_xuehao foreign key (学号) references xuesheng(code)
alter table xuanke add constraint fk_xuanke_kehao foreign key(课号) references kecheng(课号)
alter table xuanke add constraint pk_xuanke_kehao primary key(学号,课号)
--删除xuesheng表中的住址字段(注意是否有约束)
alter table xuesheng drop constraint DF_xuesheng_zhuzhi
alter table xuesheng drop column 住址
--为xuesheng表添加字段address要求address的取值只能是‘南京’,‘徐州’,‘苏州’,‘杭州’
alter table xuesheng add address varchar(50) check(address in('南京','徐州','苏州','杭州'))
--将kecheng表中的课名设置为唯一约束
alter table kecheng add constraint un_kecheng_keming unique(课名)
--删除xuesheng表中年龄上的约束,并重新添加条件约束,范围改为5到28岁之间。
alter table xuesheng drop constraint ck_xuesheng_nianling
alter table xuesheng add constraint eee check(年龄 between 5 and 28)
分享到:
相关推荐
在本篇总结中,我们将深入探讨SQL的核心概念、常见操作以及实践经验,旨在帮助你提升SQL技能并积累宝贵的经验。 一、SQL基础 1. 数据库与表:SQL主要用于创建、查询、更新和管理数据库中的数据。数据库是一个组织...
本文将深入探讨“SQL语句总结”这一主题,特别关注MySQL数据库的常用操作。 首先,我们从基础的数据库操作开始,即CRUD(Create、Read、Update、Delete),它们构成了所有数据库操作的核心。 1. **创建(Create)*...
以下是关于标题"sql总结代码"和描述中涉及的一些核心知识点的详细说明: 1. DDL(Data Definition Language):DDL用于创建和修改数据库结构。它包括CREATE、ALTER、DROP等语句,如创建表(CREATE TABLE)、修改表...
一份完整的t-sql语法总结,基于sql server数据库。
T-SQL,全称Transact-SQL,是微软SQL Server数据库管理系统中使用的SQL语言扩展版本。...通过阅读和研究个人整理的T-SQL总结,可以帮助你更好地理解和应用T-SQL,提高在SQL Server环境下的数据库管理与开发能力。
在IT行业中,SQL(Structured Query Language)是一种用于管理和处理关系数据库的强大语言,广泛应用于数据查询、更新、插入和删除等操作。本篇文章将对SQL查询语句进行精华总结,尤其侧重于其在Java编程环境中的...
以下是对SQL Server数据库脚本的详细总结,旨在帮助新手进行有效的学习和实践。 一、创建数据库 创建一个新的SQL Server数据库,可以使用`CREATE DATABASE`语句。例如: ```sql CREATE DATABASE MyDatabase ON ...
根据给定文件的信息,我们可以总结出一系列与SQL相关的知识点,主要涵盖了基本的SQL操作命令,如创建表、插入数据、查询、更新等。下面将详细解释这些知识点。 ### 创建表 (CREATE TABLE) 创建表是数据库操作中最...
这篇博客"通过分析SQL语句的执行计划优化SQL(总结)"深入探讨了这一主题,下面将对其中的主要知识点进行详细阐述。 1. **执行计划的理解**: 执行计划是数据库管理系统在执行SQL语句之前预先生成的一种详细步骤,它...
这篇自我总结将探讨SQL的重要性、其功能以及如何有效地学习SQL。 首先,理解SQL的基本概念至关重要。SQL是一种标准化的语言,适用于多种数据库管理系统,如MySQL、Oracle、SQL Server、PostgreSQL等。它的主要功能...
《2017年深圳-华为SQL总结》 在信息技术领域,SQL(Structured Query Language,结构化查询语言)是数据库管理、数据查询和更新的核心工具。这篇文档详细总结了2017年深圳华为公司在使用SQL过程中的一些关键知识点...
SQL常用函数总结 SQL作为一门标准的数据库语言,在实际应用中有很多常用的函数和语句,这些函数和语句可以帮助我们更方便地操作和处理数据。在本文中,我们将总结一些常用的SQL函数和语句,并对其进行详细的解释。 ...
### SQL Tuning Advisor 使用总结 #### 一、SQL Tuning Advisor 概述 SQL Tuning Advisor(STA)是Oracle数据库中的一个强大工具,用于优化SQL语句的性能。通过自动化的诊断过程,STA能够帮助数据库管理员(DBA)...
在本总结中,我们将深入探讨SQL编程的核心概念、语法和实际应用,旨在帮助你理解和掌握这一强大的数据处理工具。 一、SQL基础 1. 数据库与表:SQL主要用于创建、查询、更新和管理数据库中的表格。每个数据库由一个...
以下是对SQL优化的总结,主要聚焦于Oracle数据库的SQL语句调优。 1. **理解执行计划**:优化SQL的第一步是理解查询的执行计划。Oracle的`EXPLAIN PLAN`可以展示SQL执行的步骤,包括表扫描方式、连接顺序、索引使用...
SQL Server 知识点总结 SQL Server 是一种关系型数据库管理系统,由 Microsoft 开发,广泛应用于企业级数据库管理。下面是 SQL Server 知识点总结,涵盖数据库结构、创建数据库、查看数据库信息、修改数据库等方面...
昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行,比如表中有两列数据 : 类别 名称 AAA 企业1 AAA 企业2 AAA 企业3 ...
SQL 语句和游标总结 SQL 语句和游标是数据库管理系统中两个非常重要的概念。游标提供了一种从表中检索数据并进行操作的灵活手段,主要用在服务器上,处理由客户端发送给服务器端的 SQL 语句,或是批处理、存储过程...
### DBA常用SQL总结 #### 一、DBA的基本职责与技能要求 作为一个数据库管理员(DBA),除了具备一定的技术背景之外,还需要深入了解业务流程以及业务对于数据库的具体操作需求。这意味着DBA不仅要能够确保数据库...