sql操作大全

2021-07-26 13:39:05 字數 3243 閱讀 6109

**:

1.登入資料庫

>mysql -h localhost -u root -p 資料庫名稱

2.查詢所有的資料庫

>show databases;

3.選擇資料庫

>use 資料庫名;

4.查詢所有資料表

>show tables;

5.查詢表的字段資訊

>desc 表名稱;

6.1.修改某個表的字段型別及指定為空或非空

>alter table 表名稱 change 欄位名稱 欄位名稱 字段型別 [是否允許非空];

>alter table 表名稱 modify 欄位名稱 字段型別 [是否允許非空];

6.2.修改某個表的欄位名稱及指定為空或非空

>alter table 表名稱 change 欄位原名稱 欄位新名稱 字段型別 [是否允許非空];

例如:修改表expert_info中的字段birth,允許其為空

>alter table expert_info change birth birth varchar(20) null;

1.增加乙個字段(一列)

alter table table_name add column column_name type default value;   type指該字段的型別,value指該字段的預設值

例如:alter table mybook add column publish_house varchar(10) default '';

2.更改乙個欄位名字(也可以改變型別和預設值)

alter table table_name change sorce_col_name dest_col_name type default value;   source_col_name指原來的欄位名稱,dest_col_name

指改後的欄位名稱

例如:alter table board_info change ismobile istelphone int(3) unsigned default 1;

3.改變乙個欄位的預設值

alter table table_name alter column_name set default value;

例如:alter table book alter flag set default '0';

4.改變乙個欄位的資料型別

alter table table_name change column column_name column_name type;

例如:alter table userinfo change column username username varchar(20);

5.向乙個表中增加乙個列做為主鍵

alter table table_name add column column_name type auto_increment primary key;

例如:alter table book add column id int(10) auto_increment primary key;

6.資料庫某錶的備份,在命令列中輸入:

mysqldump -u root -p database_name table_name > bak_file_name

例如:mysqldump -u root -p f_info user_info > user_info.dat

7.匯出資料

select_statment into outfile"dest_file";

例如:select cooperatecode,createtime from publish limit 10 into outfile"/home/mzc/temp/tempbad.txt";

8.匯入資料

load data infile"file_name" into table table_name;

例如:load data infile"/home/mzc/temp/tempbad.txt" into table pad;

9.將兩個表裡的資料拼接後插入到另乙個表裡。下面的例子說明將t1表中的com2和t2表中的com1欄位的值拼接後插入到tx表對應的

欄位裡。

例如:insert into tx select t1.com1,concat(t1.com2,t2.com1) from t1,t2;

10,刪除字段

alter table form1 drop column 列名;

主鍵部分

**:

1. 新增主鍵約束:

alter

table tbl_name add

primary

key(index_col_name,…);

#括號中為欄位名,可以為乙個或者多個

2. 在資料表已存在的情況下,且無主鍵,新增新的字段作為主鍵,並將該字段移到**的第一列

alter

table tbl_name add

col_name col_definition (data type, null, default...) primary

keyfirst current_first_col_name;

# current_first_col_name表示當前資料表的第一列

notes:關鍵字first表示位於某一列的前面,如果加入的字段需要位於某一列的後面,可以使用after

3. 資料表已存在,且有主鍵,修改主鍵的定義

關鍵字modify

alter

table tbl_name modify col_name col_definition [

first|after col_name

]#在col_definition 宣告要修改的屬性,如要新增自動編號auto_increment

notes:

1)  此時不需要重新宣告主鍵屬性primary key,如果新增了則會報錯:主鍵重複;

2)  如果原有屬性中存在auto_increment,修改時需要加上auto_increment,否則auto_increment屬性被刪除

關鍵字change

alter

table tbl_name change col_name

col_name col_definition [

first|after col_name

]#與modify的區別在於列表需要寫兩次列名,相當於原列名和新列名,所以change也可以用來修改列名

sql操作大全

這三個方法是連線物件提供的用於事務處理的方法。begintrans用於開始乙個事物 rollbacktrans用於回滾事務 committrans用於提交所有的事務處理結果,即確認事務的處理。事務處理可以將一組操作視為乙個整體,只有全部語句都成功執行後,事務處理才算成功 若其中有乙個語句執行失敗,則...

操作日期的SQL語句大全

1.顯示本月第一天 select dateadd mm,datediff mm,0,getdate 0 select convert datetime,convert varchar 8 getdate 120 01 120 2.顯示本月最後一天 select dateadd day,1,conve...

操作日期的SQL語句大全

1.顯示本月第一天 select dateadd mm,datediff mm,0,getdate 0 select convert datetime,convert varchar 8 getdate 120 01 120 2.顯示本月最後一天 select dateadd day,1,conve...