mysql資料庫加欄位
修改表結構問題不大吧
就是主鍵,索引什麼的處理
你可以這樣
1.CREATE
TABLE
newtable
SELECT
*
FROM
oldtable
where
1=2;
這是復製表結構,但是不導數據。
2.然後再ALTER
TABLE
newtable
ADD
(newcol1
type1,newcol2
type2,。。。),這樣你可以給表添加欄位
3.INSERT
INTO
newtable
(oldcol1,oldcol2,。。。oldcoln)SELECT
*
FROM
oldtable;這樣就把原來的數據全部移植到新表中,當然也可以給新欄位設置默認值。
4.再把原表的主外鍵,索引,約束等等加上去就OK;
至於你說的請另外的人做,能不能看懂,肯定可以的。。
至於怎樣修改還是新開發哪個方便這個就要看你的老系統做的怎麼樣了,如果老系統擴展性比較好,結構也比較優化合理的話,應該問題不大,簡單的加幾個欄位,程序裡面稍微改下就OK了。
如果請人修改的話,不用花多少銀子的啊,這個很簡單的。、
『貳』 mysql自動增加的欄位怎麼設置初始值
mysql自動增加的欄位設置初始值的方法和詳細的操作步驟如下:
1、首先,打開navicat工具並連接到mysql資料庫服務,可以查看所有表,選擇需要添加欄位的表,然後單擊滑鼠右鍵以選擇「設計表」,如下圖所示。
『叄』 如何向mysql資料庫表中添加一個變數欄位
在select 語句中賦值給用戶變數的語法是 @ var_name := value ,這里的var_name 是變數名,value是正檢索的值.
1:變數可以用在以後語句中表達式可用的任何地方,例如where字句或者insert 語句中。
例如select @id :=cust_id from customers where cust_id='customer name';
delete from orders where cust_id = @id;
2:變數的另一個用途是保存在一個auto_increment列的表中 插入新的一行後last_insert_id()的結果
select @last_id :=Last_INSERT_ID();
LAST_INSERT_ID()返回新的AUTO_INCREMENT列值,通過將其保存在變數中,你可以在之後的語句中多次引用該值。
即使發起其他的語句創建他們自身的atuo_increment值,從而改變了last_insert_id()返回的值
3:用戶變數擁有單一的值,如果使用返回多行的語句來將值賦給一個變數,那麼只有最後一行的值被賦給了該變數。
4:要將一個變數顯示地設為一個特定值,使用set語句,set語法可以使用:=或者=來進行賦值
5:set也可以用來將一個select的結果賦給一個變數.
『肆』 mysql資料庫需要添加哪些欄位
給表添加欄位的命令如下:
alter table tableName add newColumn varchar(8) comment '新添加的欄位'
注意:
1、在這句語句中需要注意的是,comment為注釋,就像在java中//作用是一樣的。
2、comment後需要加單引號將注釋引起來。
『伍』 mysql添加欄位內容
updatedede_addonsoftsetsoftlinks=concat(softlinks,replace(softlinks,'下載地址1','下載地址2'));
『陸』 MySQL資料庫,如何給資料庫表和表欄位添加備注
ALTERTABLEtable_nameCOMMENT='這是表的注釋';
『柒』 如何在MySQL資料庫添加和修改欄位
INSERT用於向一個已有的表中插入新行。INSERT…VALUES語句根據明確指定的值插入行。讓我們先來看一下insert語句標準的定義,放在[]內的都是可以省略的:
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name [(col_name,...)]
VALUES ({expr | DEFAULT},...),(...),...
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
這個語法是很簡單的,根據英語單詞的意思就可以直接翻譯過來:插入 表名(欄位1名,欄位2名) values (欄位1的值,欄位2的值);
『捌』 MySQL(DML數據操作語言,添加/刪除/修改資料庫數據)
插入數據
insert into 表名(欄位) values(『數據』);
insert into 表名1(name,age) select name,age from 表2; #表2 數據信息復制到表1
修改數據
update 表名 set '欄位'='數據'; #修改數據
delect from 表名 where 欄位=值; #刪除數據
truncate table 表名; #清空所有數據 且無法恢復
DQL (數據查詢語言,用來查詢數據)
select 要查詢欄位 from 表名 [where 滿足條件];
[group by 分組依據]
[order by 排序依據]
[limit 限定輸出結果]
select * from 表名; #查詢 表 所有數據
select 欄位 欄位 from 表名; #查詢指定欄位數據
select st.name,st.age,th.name,th.age from st,th; #查詢一個或多個 表中的數據
SELECT 欄位名 FROM 表名 WHERE 條件1 OR 條件2 [...OR 條件n];
例:SELECT * FROM students WHERE age<20 OR ecation!='大專' #查詢年齡小於20或 者學歷不等於大專的學生信息
SELECT 欄位名 FROM 表名 WHERE 條件1 AND 條件2 [...AND 條件n];
例:SELECT * FROM students WHERE age>22 AND ecation='大專' # 查詢年齡大於22 且學歷為大專的學生信息
select 欄位 from 表名 where age in (12,17,23); #數據在指定 數據 裡面
select 欄位 from 表名 where age between 23 and 28; #數據在23-28 之間
select * from 表名 order by 欄位名; #排序,升序
select 欄位 from 表名 order by desc; # 欄位降序
select 欄位1,欄位2…… from 表名 group by 分組依據欄位; #每個欄位只顯示一條
例:SELECT id,sname,age,phone,place,GROUP_CONCAT(age,place) FROM students GROUP BY age,place; #查詢學生信息,根據age,place分組並顯示每一組的記 錄
select distinct 欄位 from 表名; #去除結果重復行
例:SELECT DISTINCT age FROM students; # 查詢學生的年齡段情況
selcet 欄位1,欄位2,group_concat(分組依賴欄位名) from 表名 group by 分組依賴欄位名; #查詢每個組中記錄數量,顯示出來(使用關鍵字GROUP BY與GROUP_CONCAT()函數一起使用,可以將每個組中的記錄數量都顯 示出來)
例:selcet id,sname,age,phone,GROUP_CONCAT(age) FROM students GROUP BY age; # 查詢學生id,姓名,年齡,電話,根據age分組並顯示每一組的記錄
SELECT 欄位名 FROM 表名 [其他條件] LIMIT int,int; 參數1是開始讀取的第一條記錄的 編號,參數2是要查詢記錄的個數
例:SELECT * FROM students ORDER BY age LIMIT 0,5; # 查詢學生信息,根據age 排序從第0位開始顯示,只顯示5條
select 欄位名 from 表名where欄位名 regexp '匹配方式'
(^匹配以特定字元或 字元串開頭的記錄,
$匹配以特定字元或 字元串結尾的記錄
[^字元集 合]匹配除「字元集合」以 外的任意一個字元
S1|S2|S3匹配S1 S2 S3中 的任意一個字元串
字元串{N }匹配字元串出現N次
字元串 {M,N}匹配字元串出現至 少M次,最多N次)
聚合函數查詢
select count(欄位名) from 表名; #對於除"*"以外的任何參數,返回所選擇集合中非NULL值的行的數目;對於參數「*」,返回選擇集 合中所有行的數據,包含NULL值的行
例:SELECT COUNT(*) FROM students;
select sum(欄位名) from 表名; #表中某個欄位取值的總和
select avg(欄位名) from 表名; #表中某個欄位取值的平均值
select max(欄位名) from 表名; #表中某個欄位取值的最大值
select min(欄位名) from 表名; #表中某個欄位取值的最小值
連接查詢
a.內連接:列出數據表中與連接條件相匹配的數據行,組合成新記錄【只有滿足條件的記錄才出現在查詢結 果】 內連接的最常見的例子是相等連接,也就是連接後的表中的某個欄位與每個表中的都相同
select 欄位名1,欄位名2 from 表名1 inner join 表名2 where 連接條件;
例:select s.name,d.dname from staff s inner join department d WHERE s.dpid = d.id; # 連接員工表的dpid欄位和部門表的id欄位,並查詢員工姓名和部門名稱
b.外連接:與內連接不同,外連接是指使用OUTER JOIN關鍵字將兩個表連接起來。外連接生成的結果集不僅 包含符合連接條件的行數據 ,而且還包含左表(左外連接時的表) 右表(右外連接時的表)或 兩邊連接表(全外連接時的表)中所有的數據行。
select 欄位名稱 from 表名1 LEFT|RIGHT join 表名2 on 表名1.欄位名1 = 表名2.欄位名2;
例:select s.name,d.dname FROM staff s LEFT JOIN department d ON s.dpid = d.id; #連接員工表的dpid欄位和部門表的id欄位,並查詢員工姓名和部門名稱,如果右表中沒有對應的 連接數據,會自動添加NULL值
例:SELECT s.name,d.dname FROM staff s RIGHT JOIN department d ON s.dpid = d.id; # 連接員工表的dpid欄位和部門表的id欄位,並查詢員工姓名和部門名稱,如果左表中沒有對應 的連接數據,會自動添加NULL值
例:SELECT 欄位名1,欄位名2 FROM 表名1,表名2 WHERE 連接條件 AND 限制條件; 例:SELECT s.name,d.dname FROM staff s,department d WHERE s.dpid = d.id AND s.dpid>1; # 查詢員工姓名和部門名稱,條件是員工表的dpid欄位與部門表中的id欄位相等,並且dpid大於1
合並查詢結果
select 欄位名 from 表名 UNION select 欄位名 from 表名; #關鍵字UNION是將所 有的查詢結果合並到一起,並且去除相同記錄
例:SELECT dpid FROM staff UNION SELECT id FROM department; # 查詢員工表dpid與部門表id,如果有重復數據,只顯示一次
select 欄位名 drom 表名 UNION ALL select 欄位名from表名; #關鍵字UNION ALL 則只是簡單地將結果合並到一 起
例:SELECT dpid FROM staff UNION ALL SELECT id FROM department; # 查詢員工表dpid與部門表id,全部顯示