--创建一个数据库名为‘sql_test’
create database sql_test
go
--打开数据库 sql_test
use sql_test
go
--建立学生表
create table 学生
(学生编号 char(4) primary key, 学生名字 varchar(50)not null)
go
--修改学生表
alter table 学生
add 班级编号 char(4) null --添加班级编号字段
-- (注意如果添加的字段不为空的话,是不能被添加的)
go
--建立班级表
create table 班级
(班级编号 char(4) primary key ,班级名称 varchar(50)not null)
go
--建立课程表
create table 课程
(课程编号 char(4) primary key ,课程名称 varchar(50) not null,开课日期 datetime )
go
--修改课程表
alter table 课程
add 课程代号 varchar(10) null --添加课程代号字段
go
alter table 课程
drop column 开课日期 --删除开课日期字段
go
alter table 课程
alter column 课程名称 varchar(20) not null --修改课程名称字段
go
--建立一个product_test_one 表,与下个表类似,只不过在constraint前面有个‘逗号’不影响执行
create table product_test_one
(
id char(10) not null, name varchar(20) null, price money default 20.5,quantity smallint null, constraint pk_id primary key clustered (id)
)
go
--建立一个product_test_two 表
/*
添加 ‘主键约束’,语句为:constraint pk_id primary key clustered (id)
constraint 约束的名称 primary key clustered (字段名),其中clustered为聚簇索引,也是系统默认值
*/
create table product_test_two
(
id char(10) not null, name varchar(20) null, price money default 20.5,quantity smallint null constraint pk_id2 primary key clustered (id)
)
go
--删除表 pruduct_test_one表
drop table product_test_one
go
/* 唯一性的约束用于指定一个或则多个列的组合值具有唯一性,
以防止在列中输入重复的值,没个列中只能有一个主键,因此,当表中已经有一个主键时,
如果还需要保证其他的标示符唯一时,就可以使用唯一约束*/
--建立一个student表,使其中的 name 字段具有唯一性
create table student
(
id char(8), name char(10) --表字段
constraint pk_id primary key (id), --添加一个主键约束
constraint uk_name unique (name) --添加一个唯一性约束
)
go
--建立一个student4表,同上 (注意:constraint 与constraint 之间一定要有逗号,否则出错!)
create table student4
(
id char(8), name char(10) --表字段
constraint pk_id4 primary key (id), constraint uk_name4 unique (name)
)
go
-- 删除表student4
drop table student4
go
--建立一个student3表,同上
create table student3
(
id char(8), name char(10), --表字段
constraint pk_id3 primary key (id) ,constraint uk_name3 unique (name)
)
go
--删除表student3
drop table student3
go
/*检查约束对输入列或整个表中的值设置检查条件,以限制输入的值,保证数据库的完整性。
一个表中可以定义多个检查约束;每个表中每个字段只能定义一个检查约束;
在多个字段上定义检查约束,则必须将检查约束定义为表级约束;
当执行insert语句或则update语句时,检查约束将验证数据;检查约束中不能包含子查询*/
--constraint 约束名 check(逻辑条件表达式)
--创建一个'员工'表,使其输入的性别字段(sex)只能接受‘m’或则‘f’,而不能接受其他数据
--并且为phone字段创建检查约束,限制只能输入类似0108564712之类的数据,而不能随意输入其他数据
create table 员工
(
id char(5),name char(20),sex char(2),phone int
constraint pk_zid primary key (id), --此间一定要有‘逗号’分隔 ,定义主键约束
constraint chk_sex check (sex in ('f','m') ),
constraint chk_phone check (phone like '(010) [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]')
)
go
/*默认约束指定在插入操作中如果没有提供输入的值时,则系统自动指定值。
默认约束可以包含常量、函数、不带变元的内建函数或空值。
每个字段只能定义一个默认约束,
如果定义的默认值长于其对应字段的允许长度,那么输入到表中的默认值将被截断
不能加入到带有identity属性或者数据类型为timestamp的字段上
如果字段定义为用户定义的数据类型,而且有一个默认绑定到这个数据类型上,则不、允许该字段有默认约束
*/
--constraint 约束名 default 约束表达式 [for 字段名]
-- 创建一个表‘默认约束’,为字段sex创建默认约束
create table 默认约束
(
id char(5) primary key ,sex varchar(2) constraint con_sex default 'm'
)
go
--修改‘默认约束’表
alter table 默认约束
add name varchar(10)null constraint con_name default '你好宝贝' --增加一个字段为‘name’,默认值为‘你好宝贝’
go
/*利用系统存储过程sp_help查看表信息,也可以指定数据库对象的信息,
还可以提供系统或则用户定义的数据类型的信息,sq_help存储过程只用于当前的数据库,
如果不指定对象的名称,系统默认为当前数据库的所以名称、对象的所有者和对象的类型。
语法如: sq_help [[@objname=]name]*/
--往班级表里添加8条记录
insert into 班级 values('bj01','一班')
insert into 班级 values('bj02','二班')
insert into 班级 values('bj03','三班')
insert into 班级 values('bj04','四班')
insert into 班级 values('bj05','五班')
insert into 班级 values('bj06','六班')
insert into 班级 values('bj07','七班')
insert into 班级 values('bj08','八班')
go
--显示班级所以记录
select * from 班级
go
--删除班级表里班级编号大于bj06的记录
delete from 班级 where 班级编号>'bj06'
go
--显示班级所以记录
select * from 班级
go
--向学生表里添加记录
insert into 学生 values('xs01','one','bj01')
insert into 学生 values('xs02','two','bj01')
insert into 学生 values('xs03','three','bj01')
insert into 学生 values('xs04','four','bj02')
insert into 学生 values('xs05','five','bj03')
insert into 学生 values('xs06','six','bj02')
insert into 学生 values('xs07','seven','bj04')
insert into 学生 values('xs08','eight','bj03')
insert into 学生 values('xs09','nine','bj04')
insert into 学生 values('xs10','ten','bj05')
insert into 学生 values('xs11','eleven','bj06')
insert into 学生 values('xs12','twleve','bj06')
go
--显示学生所有的记录
select * from 学生
go
--连接查询
select * from 学生,班级 where 学生.班级编号=班级.班级编号
go
--以下效果同上一条相同
/*
--第一个效果
select * from 学生 a,班级 b where a.班级编号=b.班级编号
go
--第二个效果
select * from 学生 as a,班级 as b where a.班级编号=b.班级编号
go
*/
--选择的连接查询
select 学生.学生编号,班级.班级编号, 学生.学生名字,班级.班级名称 from 学生,班级 where 学生.班级编号=班级.班级编号
go
--以下效果同上一条相同
/*
--第一个效果
select a.学生编号,b.班级编号, a.学生名字,b.班级名称 from 学生 a,班级 b where a.班级编号=b.班级编号
go
--第二个效果
select a.学生编号,b.班级编号, a.学生名字,b.班级名称 from 学生 as a,班级 as b where a.班级编号=b.班级编号
go
*/
--查询一班的学生
select* from 学生 where 班级编号 in(select 班级编号 from 班级 where 班级编号='bj01')
go
--与上面一条查询语句一样功能
select a.学生编号,a.学生名字,a.班级编号 from 学生 as a ,班级 as b where a.班级编号=b.班级编号 and b.班级编号='bj01'
go
--统计一班学生人数
select count(学生编号)as 学生统计 from 学生
where 班级编号 in(select 班级编号 from 班级 where 班级编号='bj01')
go
--group的用法和count()函数的用法
/*在 select 语句里出现聚合函数,并且有其他字段时,一定要有group by 子句,
并且在group by里写出在select里出现的每一个字段,否则会出错
例如下面的语句是错误的:
select count(学生编号)as 学生统计,学生名字,班级编号 from 学生
where 班级编号 in(select 班级编号 from 班级 where 班级编号='bj01')
group by 学生名字
go
*/
--统计一班学生人数,并显示学生的名字和所在班级
select count(学生编号)as 学生统计, 学生名字,班级编号 from 学生
where 班级编号 in(select 班级编号 from 班级 where 班级编号='bj01')
group by 班级编号,学生名字
go
分享到:
相关推荐
在“易语言SQL建库建表”这个主题中,我们主要讨论的是如何使用易语言来操作SQL数据库,包括创建数据库和构建数据表。 首先,我们需要了解SQL(Structured Query Language),即结构化查询语言,它是用于管理和处理...
6. **源码示例**:压缩包中的"易语言SQL建库建表源码"可能是用易语言编写的程序,它演示了如何在程序中执行SQL语句来创建数据库和表。易语言是一种中国本土的编程语言,它的语法简单,适合初学者学习。 7. **数据库...
本压缩包“易语言源码易语言SQL建库建表源码.rar”提供了使用易语言编写的相关源代码,用于实现SQL数据库的创建和表结构的建立。下面将详细介绍易语言和SQL在建库建表方面的知识。 1. 易语言基础: - **语法特点**...
在数据库管理领域,T-SQL(Transact-SQL)是SQL Server所使用的扩展SQL语言...掌握T-SQL建库建表、插入数据和子查询的使用,对于数据库管理员和开发人员来说至关重要,这能帮助他们高效地设计、管理和操作数据库系统。
从给定的SQL Server 2005建库建表脚本中,我们可以提炼出一系列重要的知识点,这些知识点不仅适用于SQL Server 2005,也广泛应用于其他版本的SQL Server以及关系型数据库管理系统(RDBMS)的设计与管理。 ### 1. ...
SQL数据库建表建库语句 SQL SEREVER入门必备的第一个教学代码 仅供学习参考
T-SQL建库建表的同时加约束,调用DOS cmdshell命令建文件夹, if exists(select * from sysobjects where name ='Result') drop table Result create table Result ( ExamDate datetime default getdatet() not null,...
此压缩包"易语言源码SQL建库建表源码.rar"包含的是使用易语言编写的关于创建数据库和表格的源代码。通过分析这个资源,我们可以学习到易语言在数据库操作方面的应用,以及SQL语言的基础知识。 首先,易语言提供了与...
mysql创建数据库和表 数据库课程设计-学生选课管理系统建库建表语句.sql
SQL建库建表是数据库管理的基础,涉及创建数据库、定义表结构、选择合适的数据类型和设置约束。理解和熟练掌握这些概念和语法,对于进行有效的数据存储和管理至关重要。在实践中,还需要根据具体使用的数据库管理...
在这个“易语言SQL建库建表源码.zip”压缩包中,我们找到了一个易语言项目的源码,它涉及到SQL数据库的创建和管理。这个项目可以作为一个很好的学习资源,无论是对于个人技术提升、学生的毕业设计还是小型团队的项目...
在Mycat环境下,建库建表的SQL语句需要遵循特定的规则。例如,你可能需要指定库表的分片规则,如使用`SHARD_BY`关键字定义分片字段和策略: ```sql CREATE TABLE `users` ( `id` INT NOT NULL AUTO_INCREMENT, `...
sharding-proxy和sharding-ui 简介与v5.0.0-beat版本搭建配置,相关建库建表sql
### 数据库建表操作SQL语句详解 #### 一、新建表 新建表是数据库管理中最基础的操作之一,用于创建新的数据存储结构。在SQL语言中,`CREATE TABLE`语句用于定义表的结构。 **语法示例**: ```sql CREATE TABLE ...
以下是根据提供的文件内容,对达梦数据库建表操作SQL语句所涉及知识点的详细解析: 1. 新建表(CREATE TABLE): 新建表是数据库操作的基础,其SQL语句的一般格式为 `CREATE TABLE [表名] (...)`。在达梦数据库中,...
在T-SQL中,使用`CREATE DATABASE`语句来创建新的数据库。例如: ```sql CREATE DATABASE MyDatabase; ``` 这会创建一个名为"MyDatabase"的新数据库。 2. **创建表**: 使用`CREATE TABLE`语句定义表结构。...
本资源针对初学者,通过"论坛T-SQL语句实例 简单易懂 建库建表建约束等"这个主题,旨在帮助初学者快速理解和掌握T-SQL的基础操作。 首先,我们来讨论如何创建数据库。在T-SQL中,使用`CREATE DATABASE`语句可以新建...
总结,Java读取Excel并进行数据库建库建表及生成Java实体的过程涉及了Apache POI库的使用、数据库操作和源代码生成。理解这些步骤可以帮助你有效地处理类似的任务,提高开发效率。在实际应用中,你还需要考虑错误...