修改一張資料庫裡面的表之前我們需要對錶進行備份,備份的工作一方面可以對錶進行備份,另一方面是對整個資料庫備份。
1.先建立乙個資料庫和一張表
create database dogs; /*建立乙個dogs的資料庫*/
/*或者使用dogs作為預設的資料庫 use dogs; */
create table dogs.dog( /*建立乙個dogs表*/
id int auto_increment,
scientfic_name char(26),
age int(2)
);
2.對錶操作之前先進行備份
//user_name是你的使用者名稱 -p 表示需要輸入密碼 '>' 是重定向符,將表的內容放入備份的sql檔案裡面
mysqldump --user='user_name' -p \
dogs dogs > /opt/dog.sql ;
//備份資料庫的操作
mysqldump --user'user_name' -p \
dogs > dogs.sql
3.恢復備份的操作
mysql --user'user_name' -p \
dogs < dogs.sql
由於每一次修改表以及刪除表的操作都比較難恢復到初始態。一旦出現錯誤就會比較麻煩。所以我們需要先學習並且養成備份的習慣
修改表的語法
1.新增一列order_id
alter table dogs
add column order_id int;
2.在id項後面一項新增order_id 項
alter table dogs
add column order_id int after id;
3.設定乙個具有列舉型別參考表的新列
如果乙個列的資料是固定的,那麼在定義它的時候我們可以使用列舉型別,也可以再建立乙個表去給出詳細的資訊。但是列舉型別本身就是一種參考表
/*建立乙個狗的原產地這樣乙個列*/
alter table new_dog
modify column address
enum(
'asian',
'america',
'europe',
'austrlia');
after order_id;
3.關於表的其他操作
describe dogs.dog; /*檢視表的內容*/
drop dogs.dog; /*刪掉表dog*/
show columns from table_name like 'col_name';/*檢視乙個列*/
create table test.new_dog like dogs.dog /*複製乙份dog表到new_dog裡面,但是沒有資料,只有相應的配置*/
設定列的預設值
可以使用change語句或者是alter語句,而且不用擔心的是修改了列的預設值不會對之前的儲存資料有影響
/*修改new_dogs表的address項的型別為int 並且初始值設定為8*/
alter table new_dogs
change column address int default 8;
/*修改表的age項的初始值預設為8 使用alter*/
alter table new_dogs
alter column age set default 8;
修改auto_increment的預設值
/*從下一行開始初始值從10開始*/
alter table birds
auto_increment = 10;
重新命名表的操作
重新命名的時候要注意,不能與其他表重名,而且最好不要包含連線符 『- 』 因為mysql會把他當成減號
rename table table_old to table_new ;
並且rename命令也可以用來移動表,這一點和linux shell中的mv差不多,可以將乙個表不改名字的移動到另乙個資料庫。
使用order by指令對錶進行重排序
select * from code
order by name
limit 3;
關於索引的理解
索引是為了更加方便的對錶內的資訊進行檢索和查詢,但是索引並不是列。乙個列是primary key是說它與索引關聯了,而不是說它就是索引。索引可以是單獨定義出來,也可以是建表之後新增的。
show index from tables \g /*檢視表的引數資訊,可以看到當前的索引關聯*/
/*explain語句是用來解釋,索引被如何應用的而不是顯示查詢結果 */
explain select * from tables where name = 'jj' \g
/*建立索引*/
alter table humans
add index human_name(name_last,name_first);
/*該索引是一對鍵值對,所以無論輸入哪個名字都會使用human_name選項*/
對乙個索引值關聯的列進行修改名稱之前需要將主鍵的值去掉
drop primary key之後再對列名進行修改,不然會出現主鍵不能與某一列關聯的錯誤。
mysql直接對錶操作 MySQL對錶操作命令
1 資料庫建立 create database db name 資料庫刪除 drop database db name 刪除時可先判斷是否存在,寫成 drop database if exits db name 2 建表 建立資料表的語法 create table table name 欄位1 資料...
mysql對錶的操作
mysql增加列,修改列名 列屬性,刪除列語句 mysql修改表名,列名,列型別,新增表列,刪除表列 alter table test rename test1 修改表名 alter table test add column name varchar 10 新增表列 alter table tes...
mysql對錶中列的操作 mysql對錶基本操作
一 對錶的操作 1.新增新的字段 alter table 表名 add name varchar 20 2.刪除表中已有的字段 alter table 表名 drop name 3.修改表中已有的字段 alter table 表名 change 原有字段 新字段 varchar 20 4.新增主鍵 ...