1樓:匿名使用者
"我把外來鍵改成id,我update t_user set value(1 'qianxin')之後,t_group如何通過外來鍵得到t_user的name欄位的值呢???"
其實你這個表設計的不合規範,或者說你的t_group裡面的name不應該是user的name而是group的name,這個表為使用者分組表應該這樣建立
create table t_group( --使用者組
g_id int not null,
g_name varchar(30),
primary key (g_id)
);create table t_user( --使用者表
u_id int not null,
u_name varchar(30),
g_id int,
primary key (u_id),
foreign key (g_id) references t_group(g_id)
);組和使用者一般是一對多的關係,一般是以"1"端的主鍵作為"n"端的外來鍵,也就是組的主鍵作為使用者的外來鍵,如果是多對多的關係的話則還需要建立一張關係表
有什麼疑問再問
2樓:匿名使用者
使用者組表name欄位會不會有'qianxin' ?
這個問題我知道
推薦您使用「賽思qq陌生人推廣小助手 」
不用加好友 直接發訊息
日引1萬獨立ip 絕對沒有問題
3樓:匿名使用者
if t_user has 'qianxin', i guess it is ok!
here is another suggestion, the foreign key should be t_user's primary key (id) instead of name!
if there a record 23 qianxinyou may insert into t_group like 1 23
資料庫某一列有資料,要修改列資料型別會不會出現問題 10
4樓:匿名使用者
下面列出:
1.增加一個欄位
alter table user add column new1 varchar(20) default null; //增加一個欄位,預設為空
alter table user add column new2 varchar(20) not null; //增加一個欄位,預設不能為空
2.刪除一個欄位
alter table user drop column new2; //刪除一個欄位
3.修改一個欄位
alter table user modify new1 varchar(10); //修改一個欄位的型別
alter table user change new1 new4 int; //修改一個欄位的名稱,此時一定要重新
//主鍵
alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);
//增加一個新列
alter table t2 add d timestamp;
alter table infos add ex tinyint not null default 『0′;
//刪除列
alter table t2 drop column c;
//重新命名列
alter table t1 change a b integer;
//改變列的型別
alter table t1 change b b bigint not null;
alter table infos change list list tinyint not null default 『0′;
//重新命名錶
alter table t1 rename t2;
加索引mysql> alter table tablename change depno depno int(5) not null;
mysql> alter table tablename add index 索引名 (欄位名1[,欄位名2 …]);
mysql> alter table tablename add index emp_name (name);
加主關鍵字的索引
mysql> alter table tablename add primary key(id);
加唯一限制條件的索引
mysql> alter table tablename add unique emp_name2(cardnumber);
刪除某個索引
mysql>alter table tablename drop index emp_name;
增加欄位:
mysql> alter table table_name add field_name field_type;
修改原欄位名稱及型別:
mysql> alter table table_name change old_field_name new_field_name field_type;
刪除欄位:
mysql> alter table table_name drop field_name;
mysql修改欄位長度
alter table 表名 modify column 欄位名 型別;
例如資料庫中user表 name欄位是varchar(30)
可以用alter table user modify column name varchar(50) ;
5樓:匿名使用者
不會的,至少在我的 mysql 5.7.20 版本里,不會出現問題,前提是資料型別可以相容,原來的資料是 string 你想轉成 int 是會報錯的。
mysql一個表查詢速度與欄位的多少有影響嗎?
6樓:匿名使用者
如果兩表的索引相同的話,基本沒差別,並且你查詢裡並不包含where條件
所以select * from table都是遍歷表
但是如果有where條件的話就不好說了。譬如索引的引用等
如果一樣,並且都是主鍵索引的話,還有查詢的where條件也一樣的話
查詢速度基本是一致的
但是不排除,在查詢1表是,你程序比較多,會慢一寫,但是你查詢表2時程序少了,速度會快的這種情況
因為資料庫的速度也取決於電腦的效能
沒必要分成兩個表,放在一起沒什麼影響,索引在哪沒關係,都是為了查詢的速度,如果where條件時用到索引和沒用到索引差別就大了,我是這個意思
7樓:匿名使用者
*的話當然大,要把所有資訊都查出來.而有選擇的話,理論上速度應該不會有什麼差別
sql, 我想把department的表的name欄位修改成foreign key ,後面設為salary表的depname外來鍵,不會啊
8樓:匿名使用者
alter table department add constraint [fk_department_name]
foreignkey([name])
references salary([depname])
oracle中執行sql查詢,where條件in()中的欄位會不會出發索引
9樓:匿名使用者
那要看in中的具體內容了。
如果in中的內容是所建立主鍵(預設建立索引)的話,那麼會觸發索引的。
如果in中的內容就是普通的欄位值,那麼都沒有索引,所以也就無從談起索引的觸發了。
備註:通常in的效率很低,直接影響sql語句的執行效率的,可以用exist語句進行in語句的替換,或者是直接通過「=」的形式進行多次條件判斷來實現。根據實際情況選擇即可。
10樓:劉戰輝
會促發索引進行查詢
oracle中只要個列加上索引 查詢的時候自動根據索引查詢如果資料量不大最好不要使用索引
可能會導致事倍功半的效果哦
11樓:
理論上會的,你可以先不建索引,看一下該sql的執行計劃,然後建立索引,在看一下該sql的執行計劃
12樓:匿名使用者
這個要看oracle優化器自己選擇是否要使用index了。這個要取決於你表name列的資料唯一性和分佈。分以下2種情況。
1.name的唯一性較差:
('name1','name2','name3','name4','name5')條件訪問的資料佔全表資料的百分比很大,索引訪問的總成本大於全表掃描的成本。這時優化器就會選擇全表掃描,也就是說不會使index了。
2.name的唯一性較強
('name1','name2','name3','name4','name5')條件訪問的資料佔全表資料的百分比很小,這時優化器就會選擇使用index了,因此比沒有index時效能要高。
注意:oracle優化器瞭解表資料分佈靠的是統計資訊,因此統計資訊的準確是十分重要的,否則也會產生錯誤的選擇,導致效能下降。
高手指點下我是的sql語句錯在哪了???
oracle表的名字不能帶有數字嗎?
13樓:匿名使用者
可以,但是要在表名前加雙引號,否則oracle不會識別
比如這樣
14樓:匿名使用者
可以帶數字。
表名命名規則:
1、必須以字母開頭
2、長度不能超過30個字元
3、避免使用oracle的保留字
4、只能使用如下字元 a-z,a-z,0-9,#$等
15樓:情又獨中
當然能帶了,不過得以字母開頭
16樓:田地有份
從資料庫中提取資料等。目前,絕大多數流行的關係型資料庫管理系統,如oracle,sybase,microsoft sql server,...表2.
5.5 訊息表 欄位 型別 長度 必填欄位 允許空值
本地使用者和組中的」組」中有很多使用者名稱可以刪嗎?
可以,這是告訴你你那個工作組或是域中的組裡有哪些電腦,如果你的組有特別的許可權設定,那這個組裡的每個使用者都有這個設定。如果刪除掉了某個使用者,那這個許可權可能就丟失了,所以你需要想清楚。不過即使你已經刪除了,也還可以加進去。那可能只能禁用這個帳戶吧。你把多餘的賬戶停用就可以了,系統賬戶是無法刪除的...
您的Adobe Photoshop使用者名稱組織或序列號丟失或無效
提示adobe photoshop 使用者名稱 組織 或 序列號丟失或無效是設定錯誤造成的,解決方法為 1 解壓後點選 setup 點選接受條款。2 輸入贈送的啟用碼 點選下一步。3 等待adobe photoshop cs5安裝完成。5 adobe photoshop cs5歡迎介面。6 進入ad...
WIN7本地使用者和組中組內有很多使用者名稱稱,請問這些哪些可以刪
請教 win7本地使用者和組裡的組有14個名稱,外人是否通過這些組進入系統? 萬物皆樂 除了管理員的剩下的都應該可以刪除的 後果沒有 那個只是登入配置檔案 就是你登哪個號 就把你那個號的所有的設定都儲存下在 和另一個號的設定是不一樣的 windows 的使用者和組是一種基於許可權的有些的系統管理方式...