sql语句创建表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql语句创建表相关的知识,希望对你有一定的参考价值。
设计一个会员表。
(名称uName,性别uGander,年龄uAge,职业uCareer,备注uNote,登录名uLog,密码uPwd(加密)。)要求:主键,索引。
标准SQL语句 怎么写来,关键是索引给忘了。请高手指点。 (不要用数据库导出的语句)
创建新表的程序功能为:
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
具体为:
创建之前判断该数据库是否存在
if exists (select * from sysdatabases where name='databaseName')
drop database databaseName
go
Create DATABASE databasename
on primary-- 默认就属于primary文件组,可省略
(
/*--数据文件的具体描述--*/
name=‘databasename_data’,-- 主数据文件的逻辑名称
filename=‘'所存位置:\\databasename_data.mdf’, -- 主数据文件的物理名称
size=数值mb, --主数据文件的初始大小
maxsize=数值mb, -- 主数据文件增长的最大值
filegrowth=数值%--主数据文件的增长率
)
log on
(
/*--日志文件的具体描述,各参数含义同上--*/
name='databasename_log', -- 日志文件的逻辑名称
filename='所存目录:\\databasename_log.ldf', -- 日志文件的物理名称
size=数值mb, --日志文件的初始大小
filegrowth=数值%--日志文件的增长值
)
结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;
sql 语句就是对数据库进行操作的一种语言。
扩展资料
1、常见语句
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ (所有包含‘value1’这个模式的字符串)
排序:select * from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1[separator]
2、高级查询
A:UNION运算符
UNION 运算符通过组合其他两个结果表(例如TABLE1 和TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随UNION 一起使用时(即UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自TABLE1 就是来自TABLE2。
B: EXCEPT运算符
EXCEPT 运算符通过包括所有在TABLE1 中但不在TABLE2 中的行并消除所有重复行而派生出一个结果表。当ALL 随EXCEPT 一起使用时(EXCEPT ALL),不消除重复行。
C:INTERSECT运算符
INTERSECT 运算符通过只包括TABLE1 和TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当ALL 随INTERSECT 一起使用时(INTERSECT ALL),不消除重复行。
注:使用运算词的几个查询结果行必须是一致的。
参考资料来源:百度百科-SQL语句大全
参考技术ACREATE TABLE 语句用于创建数据库中的表。
具体用法为:
CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
)
扩展内容
数据类型 存储大小 说明
BINARY 每个字符占一个字节 任何类型的数据都可存储在这种类型的字段中。不需数据转换(例如,转换到文本数据)。数据输入二进制字段的方式决定了它的输出方式。
BIT 1 个字节0 和 1 ,以及只包含这两个数值之一的字段。
TINYINT 1 个字节 介于 0 到 255 之间的整型数。
MONEY 8 个字节 介于 – 922,337,203,685,477.5808 到 922,337,203,685,477.5807 之间的符号整数。
DATETIME(请参阅 DOUBLE ) 8 个字节 介于 100 到 9999 年的日期或时间数值。
UNIQUEIDENTIFIER 128 个位 用于远程过程调用的唯一识别数字。
REAL 4 个字节单精度浮点数,负数范围是从 –3.402823E38 到 –1.401298E-45,正数从1.401298E-45 到 3.402823E38,和 0。
SMALLINT 2 个字节 介于 –32,768 到 32,767 的短整型数。
INTEGER 4 个字节介于 –2,147,483,648 到 2,147,483,647 的长整型数。
DECIMAL 17 个字节容纳从 1028 - 1到 - 1028 - 1. 的值的精确的数字数据类型。你可以定义精度 (1 - 28) 和 符号 (0 - 定义精度)。缺省精度和符号分别是18和0。
TEXT 每一字符两字节(参见注意) 从零到最大 2.14 千兆字节。
IMAGE 视实际需要而定 从零到最大 2.14 千兆字节。用于 OLE 对象。
CHARACTER 每一字符两字节(参见注意) 长度从 0 到 255 个字符。
参考资料
百度百科_SQL数据类型
sql2005官方 - SQL Server 2005文档
参考技术BUSE 数据库名 CREATE TABLE 表名 (列名 类型(大小) DEFAULT'默认值',
列名 类型(大小) DEFAULT'默认值',
列名 类型(大小) DEFAULT'默认值',
... ...);
比如:
create table emp(id int,
ename varchar(30),
age int,
job varchar(20)
); 参考技术C --设计多个字段来表示多种联系方式
create table student
(
学号 char(10) primary key,
姓名 char(10) ,
联系方式一 varchar(40),
联系方式二 varchar(40),
联系方式三 varchar(40)
)
go
insert into student values('2010111111','张三','中国上海',NULL,NULL) 参考技术D 给你个例子吧
CREATE TABLE 学生信息
(
学号varchar(14) IDENTITY(1,1) PRIMARY KEY,
姓名varchar(8) UNIQUE NOT NULL,
班级编号varchar(14) REFERENCES '班级信息',
年级int null,
性别varchar(2) CHECK(性别in ('男’','女’)),
民族varchar(20) DEFAULT '未知该生民族',
籍贯varchar(50)
)
还有一些约束条件等等
如果只是创建表 就是create table语句
创建SQL查询,用SELECT语句为"成绩"表各科成绩做一个A,B,C的等级评分
用iff
就是一个case when语句,这个没什么困难的select (case when 成绩>=90 then 'A' when 成绩>=80 and 成绩<90 then 'B' esle 'C' end) 评级 from table
具体的内容自己改,我用的是oracle的写法,其他数据库也有case when语句用法差不多,如果不是oracle数据库,那么要自己改一改才能用。 参考技术A select case
when (成绩字段>80 and 成绩字段<100) then 'C'
when (成绩字段>60 and 成绩字段<80) then 'B'
when (成绩字段>40 and 成绩字段<60) then 'A'
else 'D' end from 成绩表 参考技术B 做个case when then ;
简单
具体用法百度
以上是关于sql语句创建表的主要内容,如果未能解决你的问题,请参考以下文章