当前位置:首页 » 编程语言 » 定义表结构的sql语句
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

定义表结构的sql语句

发布时间: 2022-06-07 22:32:25

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)定义表结构的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),不消除重复行。

注:使用运算词的几个查询结果行必须是一致的。

㈡ 使用T-SQL语句按下表结构创建表(在创建表时定义约束)

create
table
Grade
(StudentNum
char(9)
not
null,
CourseID
int
not
null,
primary
key(StudentNum,CourseID),
DailyGrade
decimal(5,1)
check(DailyGrade>=0
and
DailyGrade<=20),
PracticeGrade
decimal(5,1)
check(PracticeGrade>=0
and
PracticeGrade<=30),
TestGrade
decimal(5,1)
check(TestGrade>=0
and
TestGrade<=50),
Grade
as
isnull(DailyGrade,0)*0.2+isnull(PracticeGrade,0)*0.3+isnull(TestGrade,0)*0.5
)

㈢ SQL语句中修改表结构的命令是什么

SQL中修改表结构一般用alter关键字,修改表结构的命令如下:

拓展资料:

SQL即结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。SQL语句无论是种类还是数量都是繁多的,很多语句也是经常要用到的。

㈣ 能够创建通讯录表结构的sql语句是

创建表结构

表名: ODS_PSP_DIS_DAY_CALC

create table ODS_PSP_DIS_DAY_CALC

(

ID CHAR(32) NOT NULL,

DISTLIN_ID VARCHAR2(36) NOT NULL,

CALC_DATE DATE,

DISTLINE_NAME VARCHAR2(512),

DISTINE_NO VARCHAR2(100),

INPUT FLOAT,

LINK_TRAN_COUNT NUMBER(6),

ORG_NAME VARCHAR2(200)

);

comment on table ODS_PSP_DIS_DAY_CALC

is '计算结果ODS';

comment on column ODS_PSP_DIS_DAY_CALC .ID

is'唯一标识';

comment on column ODS_PSP_DIS_DAY_CALC .DISTLIN_ID

is '配线的标识';

comment on column ODS_PSP_DIS_DAY_CALC .CALC_DATE

is '日期';

comment on column ODS_PSP_DIS_DAY_CALC .DISTLINE_NAME

is '配电线路名称';

comment on column ODS_PSP_DIS_DAY_CALC .DISTINE_NO

is '配电线路编码';

comment on column ODS_PSP_DIS_DAY_CALC .INPUT

is ' 输入电量(kWh)';

comment on column ODS_PSP_DIS_DAY_CALC .LINK_TRAN_COUNT

is '专变数量';

comment on column ODS_PSP_DIS_DAY_CALC .ORG_NAME

is '单位名称';

alter table ODS_PSP_DIS_DAY_CALC add constraint XPK_ODS_PSP_DIS_DAY_CALC primary key(ID) using index;

create index IDX_ODS_PSP_DIS_DAY_CALC on ODS_PSP_DIS_DAY_CALC (CALC_DATE);

㈤ 、使用SQL语句,完成上图中的表结构的创建

A.假设我们使用数据库temp
use temp
create table stu(
age int not null,
score int not null)
//上面就是我已建好的表!
可以使用数据库表的备份,就可以得到与已知表相同表结构拉!代码如下:
insert age,score into newstu from stu
//newstu为新表名!是可以根据你的需要而定拉!

B.create table 新表名(newstu) as select * from 已知表 (stu)

㈥ mysql中查询数据库中表名称和结构的sql语句是什么啊啊

TABLE 语句

具体语法:TABLE table_name [ORDER BY column_name] [LIMIT number [OFFSET number]]
其实从语法上看,可以排序,也可以过滤记录集,不过比较简单,没有 SELECT 那么强大。

示例 1

简单的建一张很小的表 y1,记录数为 10 条。表 t1,插入 10 条记录

  • mysql-(ytt/3305)->create table t1 (r1 int,r2 int);

  • Query OK, 0 rows affected (0.02 sec)

  • mysql-(ytt/3305)->insert into t1

  • with recursive aa(a,b) as (

  • select 1,1

  • union all

  • select a+1,ceil(rand()*20) from aa where a < 10

  • ) select * from aa;

  • Query OK, 10 rows affected (0.00 sec)

  • Records: 10 Duplicates: 0 Warnings: 0

  • 简单全表扫描mysql-(ytt/3305)->select * from t1;+------+------+| r1 | r2 |+------+------+| 1 | 1 || 2 | 9 || 3 | 9 || 4 | 17 || 5 | 17 || 6 | 16 || 7 | 6 || 8 | 1 || 9 | 10 || 10 | 3 |+------+------+10 rows in set (0.00 sec)

  • TABLE 结果mysql-(ytt/3305)->table t1;+------+------+| r1 | r2 |+------+------+| 1 | 1 || 2 | 9 || 3 | 9 || 4 | 17 || 5 | 17 || 6 | 16 || 7 | 6 || 8 | 1 || 9 | 10 || 10 | 3 |+------+------+10 rows in set (0.00 sec)

  • 看下 table 的执行计划mysql-(ytt/3305)->explain table t1 order by r1 limit 2G*************************** 1. row *************************** id: 1 select_type: SIMPLE table: t1 partitions: NULL type: ALLpossible_keys: NULL key: NULL key_len: NULL ref: NULL rows: 10 filtered: 100.00 Extra: Using filesort1 row in set, 1 warning (0.00 sec)

  • 其实可以看到 TABLE 内部被 MySQL 转换为 SELECT 了。mysql-(ytt/3305)->show warningsG*************************** 1. row *************************** Level: Note Code: 1003Message: /* select#1 */ select `ytt`.`t1`.`r1` AS `r1`,`ytt`.`t1`.`r2` AS `r2` from `ytt`.`t1` order by `ytt`.`t1`.`r1` limit 21 row in set (0.00 sec)

  • 那其实从上面简单的例子可以看到 TABLE 在内部被转成了普通的 SELECT 来处理。示例 2应用于子查询里的子表。这里要注意,内表的字段数量必须和外表过滤的字段数量一致。克隆表 t1 结构mysql-(ytt/3305)->create table t2 like t1;Query OK, 0 rows affected (0.02 sec)

  • 克隆表 t1 数据mysql-(ytt/3305)->insert into t2 table t1;Query OK, 10 rows affected (0.00 sec)Records: 10 Duplicates: 0 Warnings: 0

  • table t1 被当做内表,表 t1 有两个字段,必须同时满足 t2 检索时过滤的字段也是两个。mysql-(ytt/3305)->select * from t2 where (r1,r2) in (table t1);+------+------+| r1 | r2 |+------+------+| 1 | 1 || 2 | 9 || 3 | 9 || 4 | 17 || 5 | 17 || 6 | 16 || 7 | 6 || 8 | 1 || 9 | 10 || 10 | 3 |+------+------+10 rows in set (0.00 sec)

  • 注意:这里如果过滤的字段数量和子表数量不一致,则会报错。

㈦ 用SQL语句定义图书表的结构

那就不要丢掉了现在!
一个怪影在欧洲游荡着……
但他的仆人冲进来,
一桠树枝,一把椅,一块圆石或者一个屋角,
操着步离去,忍受一个信仰,
什么时候领个男朋友回来啊哈哈

㈧ SQL语句创建表

CREATE TABLE 语句用于创建数据库中的表。

具体用法为:

CREATE TABLE 表名称

(

列名称1 数据类型,

列名称2 数据类型,

列名称3 数据类型,

....

)

(8)定义表结构的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语句求解答,里面表结构和业务都描述的简单明了

表结构是这样的:
diy_user表:就是存用户的信息
diy_work表:就是存diy作品的信息,其中有一个外键user_id(说明该作品是由哪个user创建的)

现在有这样的需求:
统计出所有用户的diy作品总数

我写了两个sql语句都实现了
第一条sql语句:

SQL code?

1
2
3
4

select
u.id,
(select count(1) from diy_work w where w.diy_user_id = u.id) work_cnt
from diy_user u

第二条sql语句:

SQL code?

1
2
3
4
5

select
u.id,
COUNT(w.id) work_cnt
from diy_user u LEFT JOIN diy_work w on u.id = w.diy_user_id
group by u.id