㈠ sql语句创建表
CREATE TABLE 语句用于创建数据库中的表。
具体用法为:
CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
)
(1)sql建立表范围扩展阅读:
创建表数据类型:
integer(size) int(size) smallint(size) tinyint(size):仅容纳整数。
decimal(size,d) numeric(size,d):容纳带有小数的数字。
char(size):容纳固定长度的字符串
varchar(size):容纳可变长度的字符串
date(yyyymmdd):容纳日期。
参考资料:网络-SQL CREATE TABLE
㈡ sql怎么创建表
1.1 创建表方法
创建表是指在已存在的数据库中建立新表。这是建立数据库最重要的一步,是进行其他操作的基础。
1.1.1 创建表的语法形式
CREATE TABLE 表名 (
属性名 数据类型 [ 完整性约束条件 ],
属性名 数据类型 [ 完整性约束条件 ],
......
属性名 数据类型 [ 完整性约束条件 ],
)[ 表类型 ] [ 表字符集 ];
SQL 是不区分大小写。下面将会具体介绍SQL,这种创建表是通过什么方式起来的效果怎么样?
命名规范:
1. 命名富有意义 ( 英文或英文组合 )
2. 自定义名称使用小写
3. MySQL 语句使用大写
CREATE TABLE IF NOT EXISTS data_house(
id INT,
name VARCHAR(20);
gender BOOLEAN,
) Engine = MyISAM;
上面 SQL 语句的含义是:如果不存在 text1 表,就创建它,包含 3 个字段 id 、 name 和 gender ,它们的类型分别是整形、字符型和布尔型,创建的表的类型是 MyISAM 。
完整性约束条件表
PRIMARY KEY 标识该属性为该表的主键,可以唯一的标识对应的元组
FOREIGN KEY 标识该属性为该表的外键,是与之联系的某表的主键
NOT NULL 标识该属性不能为空
UNIQUE 标识该属性的值是唯一的
AUTO_INCREMENT 标识该属性的值自动增加,这是 MySQL 的 SQL 语句的特色 (null,0)
DEFAULT 标识该属性设置默认值 (not null defualt 0,not null default 0.0,not null default '')
1.1.2 设置表的主键
主键是表的一个特殊字段。该字段能惟一地标识该表中的每条信息。主键和记录的关系,如同身份证和人的关系。主键用来标识每个记录,每个记录的主键值都不同。身份证是用来标明人的身份,每个人都具有惟一的身份证号。设置表的主键指在创建表时设置表的某个字段为该表的主键。
主键的主要目的是帮组 MySQL 以最快的速度查找到表中的某一条信息。
主键必须满足的条件:
1. 主键必须是唯一的,表中任意两条记录的主键字段的值不能相同;
2. 主键的值是非空值;
3. 主键可以是单一的字段,也可以是多个字段组合。
1. 单字段的主键:
CREATE TABLE student1 (
stu_id INT PRIMARY KEY ,
stu_name VARCHAR(20) NOT NULL,
stu_gender BOOLEAN
) Engine = InnoDB;
2. 多字段主键 :
CREATE TABLE student2 (
stu_id INT,
course_id INT,
grade FLOAT,
PRIMARY KEY( stu_id, course_id )
)Engine = InnoDB;
1.1.3 设置表的外键
外键是表的一个特殊字段。如果字段 sno 是一个表 A 的属性,且依赖于表 B 的主键。那么,称表 B 为父表,表 A 为子表, sno 为表 A 的外键。通过 sno 字段将父表 B 和子表 A 建立关联关系。设置表的外键指在创建表设置某个字段为外键。
设置外键的原则:必须依赖于数据库中已存在的父表的主键;外键可以为空值。
外键的作用 : 是建立该表与其父表的关联关系。父表中删除某条信息时,子表中与之对应的信息也必须有相应的改变。例如, stu_id 就 student 表的主键, stu_id 是 grade 表的外键。当 stu_id 为 '123' 同学退学了,需要从 student 表中删除该学生的信息。那么, grade 表中 stu_id 为 '123' 的所有信息也应该同时删除。
CONSTRAINT 外键别名 FOREIGN KEY ( 属性 1.1, 属性 1.2... 属性 1.n);
REFERENCES 表名 ( 属性 2.1, 属性 2.2,..., 属性 2.n)
CREATE TABLE student3 (
id INT PRIMARY KEY,
stu_id INT,
course_id INT,
# 设置外键
CONSTRAINT C_fk FOREIGN KEY (stu_id, course_id) REFERENCES student2(stu_id, course_id)
) Engine = InnoDB;
1.1.4 设置表的非空约束
非空性是指字段的值不能为空值 (NULL) 。非空约束将保证所有记录中该字段都有值。如果用户新插入的记录中,该字段为空值,则数据库系统会报错。例如,在 id 字段加上非空约束, id 字段的值就不能为空。如果插入记录的 id 字段的值为空,该记录将不能插入。设置表的非空约束是指在创建表时为表的某些特殊字段加上 NOT NULL 约束条件。设置非空约束的基本语法规则如下:
属性名 数据类型 NOT NULL
㈢ 数据库 SQL语言创建表
1.
createtableclass
(
classnochar(5)primarykey,
classnamechar(10)notnull,
amountint
)
2.
createtablestudent
(
snochar(8)primarykey,
snamechar(20)notnullunique,
agesmallint,
classnochar(5)referencesclass(classno)
)
㈣ 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 语句就是对数据库进行操作的一种语言。
(4)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表建立
--创建数据库xsbook
CREATE DATABASE xsbook
ON PRIMARY
(NAME = N'xsbook_data',
FILENAME = N'D:xsbook_data.mdf' ,
SIZE = 2MB,
MAXSIZE = 20MB,
FILEGROWTH = 10%
)
LOG ON
(NAME = N'xsbook_log',
FILENAME = N'D:xsbook_log.ldf' ,
SIZE = 1MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 1MB
)
GO
--创建表
create table xs表
(
xsID char(6) not null CONSTRAINT FK_xsid primary key,
xsName char(8) not null,
xsSex bit not null,
xsBirth datetime null,
xsAddress nchar(60) null
)
--将xsName的宽度更改为char(16)
alter table xs表
alter column xsName char(16) not null;
--对xs表增加一个新的字段xs_photo (照片) 类型为image 可以为Null
alter table xs表
add xs_photo image null;
--删除xs表的字段xs_photo
alter table xs表
drop column xs_photo;
--在xs表的xsID列上添加主键约束PK_xs
alter table xs表
drop constraint FK_xsid;
alter table xs表
add constraint PK_xs primary key(xsID);
--在xs表的xsName列上添加唯一约束UQ_xs_xsName
alter table xs表
add constraint UQ_xs_xsName unique(xsName);
--删除第(5)题的唯一约束
alter table xs表
drop constraint UQ_xs_xsName;
--向学生表中插入5条记录
insert into xs表
values('101','张一',1,'1990-09-01','江苏1');
insert into xs表
values('102','张二',0,'1990-09-02','江苏2')
insert into xs表
values('103','张三',1,'1990-09-03','江苏3')
insert into xs表
values('104','张四',0,'1990-09-04','江苏4')
insert into xs表
values('105','张五',1,'1990-09-05','江苏5');
--用select查询记录
select * from xs表;
--***********************************
--创建表
create table book表
(
bookID char(6) not null,
bookName nchar(50) not null,
Author nchar(20) not null,
Press nvarchar(30) not null ,
Price int null
)
--对book表添加主键约束,约束对应的字段为bookID.
alter table book表
add constraint FK_bookid primary key(bookID);
--修改book表的kcAuthor的宽度为nchar(30)
alter table book表
alter column Author nchar(30) not null;
--修改book表的kcPrice为not null
alter table book表
alter column Price int not null;
--在book表中添加默认值约束,默认值为"人民邮电出版社",对应的字段为Press
alter table book表
add constraint DF_press default('人民邮电出版社') for Press;
--在book表中添加Check约束,要求价格在5--100之间,对应的字段为price
alter table book表
add constraint CK_price check(Price between 5 and 100);
--向kc表中添加5条记录
insert into book表
values('001','xiyouji1','wuchengen','beijingchubanshe1',60);
insert into book表
values('002','xiyouji2','wuchengen','beijingchubanshe2',61);
insert into book表
values('003','xiyouji3','wuchengen','beijingchubanshe3',62);
insert into book表
values('004','xiyouji4','wuchengen','beijingchubanshe4',63);
insert into book表
values('005','xiyouji5','wuchengen','beijingchubanshe5',64);
--查询相关记录
select * from book表
㈥ SQL建立表问题 设定表的范围
如图,创建约束可以满足你的要求,不在这个范围内的数值写入时sql会有报错信息。
㈦ 这个mysql数据库用SQL怎么建立表
1、打开Navicat for MySQL,找到要创建数据知库中数据表
㈧ 数据库中(SQL) 建表 一张成绩表。怎么保证向表中插入的数据在0~100范围之内
在建表时建立检查性约束即可(check)
语法为:
creat table table_name
(
该列字段 数据类型 check(字段 between 0 and 100)
)
如果是在建完表建立该约束的话
语法为:
alter table table_name
add constraint 约束名 check(字段>=0 and 字段<=100)
㈨ sql语句创建表
CREATE 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 个字符。