A. sql建表時主鍵列名能不能用u開頭,比如uid之類的,試過幾次都不行,為什麼啊,,,
可以的,我在server 2008上操作是可以的
資料庫表欄位的命名規范:
1.欄位名為有意義的單詞,或單詞的縮寫
2.如果欄位由幾個單片語成,則單詞間用下劃線("_")分割,如client_id,post_code等
3.欄位名限制在30個字元內。當欄位名超過30字元時,可用縮寫來減少欄位名的長度,如
description --> desc;information --> info;address --> addr等。
命名遵循這個規則一般都是可以的。
B. sql 列名問題
--引用別名要這樣使用
select *
from
(select a as 數量1,b as 數量2
form table)t
where 數量1>數量2
改為
select
*
from
(select b.mc as 客戶名稱,c.pm as 品名,convert(char(20),kdrq,102) as 購買日期,
convert(char(10),dateadd(day,cast(zy1 as int),kdrq),102) as 提醒日期, --char(10)就行了
sl as 數量,a.je as 金額,ml as 毛利
from jzxsd a,cskh b,spbmzd c,cskhlb d
where b.dwlb=d.lbbh and a.dwbh =b.dwbh and a.hh=c.hh and c.zy1<>''and b.khlx=0)T
where 提醒日期=convert(char(10),getdate(),102)
C. SQL中怎樣修改一個表的列名呢
1、在oracle資料庫中: ALTER TABLE 表名 RENAME COLUMN 列名 TO 新列名。
2、在sqlserver資料庫中:exec sp_rename '[表名].[列名]『,』[表名].[新列名]'。
3、在mysql資料庫中:ALTER TABLE 表名 CHANGE 列名 新列名 列類型。
(3)列名規范sql擴展閱讀:
SQL中對表的其它操作:
1、插入列:
ALTER TABLE [表名.]TABLE_NAME ADD COLUMN_NAME DATATYPE。
2、刪除列:
ALTER TABLE [表名.]TABLE_NAME DROP COLUMN COLUMN_NAME。
3、修改數據表名:
ALTER TABLE [表名.]OLD_TABLE_NAME RENAME TO NEW_TABLE_NAME。
參考資料:網路-sql語句大全
D. sql表的欄位(列名)命名規則請教資料庫中有多個表,其中兩個表是用戶信息表和商品信息表,這兩個表
我公司使用的規則是兩段式 業務_表義 ,比如用戶表是屬於基礎數據的,則命名為:
base_user,商品表一般也是基礎數據,命名為 base_goods。
裡面的欄位的命名,一般是如果是ID,或是關鍵字的,以ID開頭 id_user ,id_goods,其他的,則是表義開頭,如果user_name,或是 goods_name。
其他一些表,可能每個表都會有的,如創建人,創建時間,則統一命名 oper_user 和 oper_date
E. SQL資料庫表的列名能否含有括弧
可以的,用中括弧括起來,例如列名為(aa),那麼創建語句或者查詢時需加中括弧:[(aa)]
F. 標准sql修改數據表列名的語句怎麼寫
那個 修改列名 各個資料庫都支持的寫法 到底有沒有, 我也不大確定.
下面是 3種資料庫 各自的寫法.
你可以切換著測試測試, 看看哪種寫法,是 各個資料庫都支持的寫法.
Oracle
SQL> ALTER TABLE test_tab
2 RENAME COLUMN val TO val2;
Table altered.
SQL Server
調用 EXECUTE sp_rename 來進行 對資料庫表中,列名的變更。
1> EXECUTE sp_rename N'dbo.test_tab.val', N'Tmp_val2', 'COLUMN'
2> GO
注意: 更改對象名的任一部分都可能會破壞腳本和存儲過程。
1> EXECUTE sp_rename N'dbo.test_tab.Tmp_val2', N'val2', 'COLUMN'
2> GO
注意: 更改對象名的任一部分都可能會破壞腳本和存儲過程。
MySQL
mysql> ALTER TABLE test_tab
-> CHANGE COLUMN val val2 VARCHAR(10); //
Query OK, 0 rows affected (0.13 sec)
Records: 0 Duplicates: 0 Warnings: 0
G. sql修改列名,增加列,刪除列語句怎麼寫
查看列:desc 表名;
修改表名:alter table t_bookrename tobbb;
添加列:alter table 表名addcolumn 列名 varchar(30);
刪除列:alter table 表名dropcolumn 列名;
修改列名: alter table bbbchangennnnn hh int;
修改列屬性:alter table t_bookmodifyname varchar(22);
H. SQL Server 中怎樣修改表中的列名
timestamptimestamp 這種數據類型表現自動生成的二進制數,確保這些數在資料庫中是唯一的。timestamp 一般用作給錶行加版本戳的機制。存儲大小為 8 位元組。注釋Transact-SQL timestamp 數據類型與在 SQL-92 標准中定義的 timestamp 數據類型不同。SQL-92 timestamp 數據類型等價於 Transact-SQL datetime 數據類型。
Microsoft&reg; SQL Server&#8482; 將來的版本可能會修改 Transact-SQL timestamp 數據類型的行為,使它與在標准中定義的行為一致。到那時,當前的 timestamp 數據類型將用 rowversion 數據類型替換。
Microsoft&reg; SQL Server&#8482; 2000 引入了 timestamp 數據類型的 rowversion 同義詞。在 DDL 語句中盡可能使用 rowversion 而不使用 timestamp。rowversion 受數據類型同義詞行為的制約。有關更多信息,請參見數據類型同義詞。
在 CREATE TABLE 或 ALTER TABLE 語句中,不必為 timestamp 數據類型提供列名:
CREATE TABLE ExampleTable (PriKey int PRIMARY KEY, timestamp)
如果沒有提供列名,SQL Server 將生成 timestamp 的列名。rowversion 數據類型同義詞不具有這樣的行為。指定 rowversion 時必須提供列名。
一個表只能有一個 timestamp 列。每次插入或更新包含 timestamp 列的行時,timestamp 列中的值均會更新。這一屬性使 timestamp 列不適合作為鍵使用,尤其是不能作為主鍵使用。對行的任何更新都會更改 timestamp 值,從而更改鍵值。如果該列屬於主鍵,那麼舊的鍵值將無效,進而引用該舊值的外鍵也將不再有效。如果該表在動態游標中引用,則所有更新均會更改游標中行的位置。如果該列屬於索引鍵,則對數據行的所有更新還將導致索引更新。
不可為空的 timestamp 列在語義上等價於 binary(8) 列。可為空的 timestamp 列在語義上等價於 varbinary(8) 列。
I. sql語句如何重命名表名和列名
一、更改資料庫名
sp_renamedb 更改資料庫的名稱。
語法: sp_renamedb [ @dbname = ] ' old_name ' , [ @newname = ] ' new_name '
參數: [ @dbname = ] ' old_name ' 是資料庫的當前名稱。old_name 為 sysname 類型,無默認值。
[ @newname = ] ' new_name ' 是資料庫的新名稱。 new_name 必須遵循標識符規則。new_name 為 sysname 類型,無默認值。
返回代碼值: 0 (成功)或非零數字(失敗)
許可權: 只有 sysadmin 和 dbcreator 固定伺服器角色的成員才能執行 sp_renamedb。
示例: 下例將資料庫 accounting 改名為 financial。
EXEC sp_renamedb ' accounting ' , ' financial '
二、更改表名或列名
sp_rename [ @objname = ] ' object_name ' ,
[ @newname = ] ' new_name '
[ , [ @objtype = ] ' object_type ' ]
A. 重命名表:
下例將表 customers 重命名為 custs。
EXEC sp_rename ' customers ' , ' custs '
B. 重命名列:
下例將表 customers 中的列 contact title 重命名為 title。
EXEC sp_rename ' customers.[contact title] ' , ' title ' , ' COLUMN '
J. SQL 修改表中的列名(急~~~)
1、在oracle資料庫中: ALTER TABLE 表名 RENAME COLUMN 列名 TO 新列名。
2、在sqlserver資料庫中:exec sp_rename '[表名].[列名]『,』[表名].[新列名]'。
3、在mysql資料庫中:ALTER TABLE 表名 CHANGE 列名 新列名 列類型。
(10)列名規范sql擴展閱讀:
SQL中對表的其它操作:
1、插入列:
ALTER TABLE [表名.]TABLE_NAME ADD COLUMN_NAME DATATYPE。
2、為表中某列添加約束:大於等於100
alter table 表名 add check(列名>=100)。
3、更改表某列的數據類型為nchar(30):
alter table 表名 altercolumn列名 nchar(30)。
4、刪除表中某列的相關約束:
alter table 表名 dropconstraint約束名。
5、刪除表中的某列:
alter table 表名 dropcolumn列名。
參考資料:網路-SQL語句大全