㈠ 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