`
yifu
  • 浏览: 3804 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

sql总结(一)

SQL 
阅读更多
--创建数据库
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的核心概念、常见操作以及实践经验,旨在帮助你提升SQL技能并积累宝贵的经验。 一、SQL基础 1. 数据库与表:SQL主要用于创建、查询、更新和管理数据库中的数据。数据库是一个组织...

    SQL语句总结

    本文将深入探讨“SQL语句总结”这一主题,特别关注MySQL数据库的常用操作。 首先,我们从基础的数据库操作开始,即CRUD(Create、Read、Update、Delete),它们构成了所有数据库操作的核心。 1. **创建(Create)*...

    sql总结代码

    以下是关于标题"sql总结代码"和描述中涉及的一些核心知识点的详细说明: 1. DDL(Data Definition Language):DDL用于创建和修改数据库结构。它包括CREATE、ALTER、DROP等语句,如创建表(CREATE TABLE)、修改表...

    t-sql 语法总结

    一份完整的t-sql语法总结,基于sql server数据库。

    个人整理的比较完整的T-SQL总结

    T-SQL,全称Transact-SQL,是微软SQL Server数据库管理系统中使用的SQL语言扩展版本。...通过阅读和研究个人整理的T-SQL总结,可以帮助你更好地理解和应用T-SQL,提高在SQL Server环境下的数据库管理与开发能力。

    SQL查询语句精华总结

    在IT行业中,SQL(Structured Query Language)是一种用于管理和处理关系数据库的强大语言,广泛应用于数据查询、更新、插入和删除等操作。本篇文章将对SQL查询语句进行精华总结,尤其侧重于其在Java编程环境中的...

    SQL Server总结数据库脚本

    以下是对SQL Server数据库脚本的详细总结,旨在帮助新手进行有效的学习和实践。 一、创建数据库 创建一个新的SQL Server数据库,可以使用`CREATE DATABASE`语句。例如: ```sql CREATE DATABASE MyDatabase ON ...

    常用实用sql语句总结

    根据给定文件的信息,我们可以总结出一系列与SQL相关的知识点,主要涵盖了基本的SQL操作命令,如创建表、插入数据、查询、更新等。下面将详细解释这些知识点。 ### 创建表 (CREATE TABLE) 创建表是数据库操作中最...

    通过分析SQL语句的执行计划优化SQL(总结)

    这篇博客"通过分析SQL语句的执行计划优化SQL(总结)"深入探讨了这一主题,下面将对其中的主要知识点进行详细阐述。 1. **执行计划的理解**: 执行计划是数据库管理系统在执行SQL语句之前预先生成的一种详细步骤,它...

    学习SQL数据库的自我总结

    这篇自我总结将探讨SQL的重要性、其功能以及如何有效地学习SQL。 首先,理解SQL的基本概念至关重要。SQL是一种标准化的语言,适用于多种数据库管理系统,如MySQL、Oracle、SQL Server、PostgreSQL等。它的主要功能...

    2017年深圳-华为SQL总结.rar

    《2017年深圳-华为SQL总结》 在信息技术领域,SQL(Structured Query Language,结构化查询语言)是数据库管理、数据查询和更新的核心工具。这篇文档详细总结了2017年深圳华为公司在使用SQL过程中的一些关键知识点...

    SQL常用函数总结

    SQL常用函数总结 SQL作为一门标准的数据库语言,在实际应用中有很多常用的函数和语句,这些函数和语句可以帮助我们更方便地操作和处理数据。在本文中,我们将总结一些常用的SQL函数和语句,并对其进行详细的解释。 ...

    SQL Tuning Advisor使用总结

    ### SQL Tuning Advisor 使用总结 #### 一、SQL Tuning Advisor 概述 SQL Tuning Advisor(STA)是Oracle数据库中的一个强大工具,用于优化SQL语句的性能。通过自动化的诊断过程,STA能够帮助数据库管理员(DBA)...

    SQL编程总结

    在本总结中,我们将深入探讨SQL编程的核心概念、语法和实际应用,旨在帮助你理解和掌握这一强大的数据处理工具。 一、SQL基础 1. 数据库与表:SQL主要用于创建、查询、更新和管理数据库中的表格。每个数据库由一个...

    SQL优化总结,很实用

    以下是对SQL优化的总结,主要聚焦于Oracle数据库的SQL语句调优。 1. **理解执行计划**:优化SQL的第一步是理解查询的执行计划。Oracle的`EXPLAIN PLAN`可以展示SQL执行的步骤,包括表扫描方式、连接顺序、索引使用...

    sqlserver知识点总结(考试复习必备)

    SQL Server 知识点总结 SQL Server 是一种关系型数据库管理系统,由 Microsoft 开发,广泛应用于企业级数据库管理。下面是 SQL Server 知识点总结,涵盖数据库结构、创建数据库、查看数据库信息、修改数据库等方面...

    SQL Server将一列的多行内容拼接成一行的实现方法

    昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行,比如表中有两列数据 : 类别 名称 AAA 企业1 AAA 企业2 AAA 企业3 ...

    SQL语句\sql 游标总结

    SQL 语句和游标总结 SQL 语句和游标是数据库管理系统中两个非常重要的概念。游标提供了一种从表中检索数据并进行操作的灵活手段,主要用在服务器上,处理由客户端发送给服务器端的 SQL 语句,或是批处理、存储过程...

    dba常用sql多年长期总结

    ### DBA常用SQL总结 #### 一、DBA的基本职责与技能要求 作为一个数据库管理员(DBA),除了具备一定的技术背景之外,还需要深入了解业务流程以及业务对于数据库的具体操作需求。这意味着DBA不仅要能够确保数据库...

Global site tag (gtag.js) - Google Analytics