當前位置:首頁 » 編程語言 » 定義表結構的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