MySQL資料表新增和修改

2021-09-23 15:37:50 字數 4648 閱讀 3823

alter table 舊表名 rename 新錶名;

示例:mysql> alter table student rename student0;

alter table 資料表名 change 舊欄位名 新欄位名 字段定義;

示例:mysql> alter table student0 change stuno studentno int;

-- 類似於重新命名字段

alter table 資料表名 change 舊欄位名 舊欄位名 字段定義;

示例:mysql> alter table student0 change studentno studentno varchar(20);

-- 類似於重新命名字段

alter table 資料表名 add 舊欄位名 字段定義;

示例:mysql> alter table student0 add sss 字段定義;

-- 刪除字段

alter table 資料表名 drop 欄位名;

示例:alter table student0 drop sss;

drop table 資料表名1,資料表名...;

drop table if exists 資料表名1,資料表名...;

示例:drop table student1,student2;

show warnings;
-- 新增全部字段資料, 按照字段從左到右的順序新增,不能為空。

insert into 表名 values(字段值);

示例:mysql> insert into student values(

-> 1013,'李文才','男',3,13500000015,'上海盧灣區','[email protected]',45032319861

2311000);

-- 新增個別字段,也是按照順序新增,可以跳過不設定的字段

insert into 表名(欄位名1,欄位名2...) values(字段值1,字段值2...);

示例:mysql> insert into student(name,gender,identitycard) values('老王','女','4322241

97809052456');

-- 同時新增多條資料

insert into 表名(欄位名) values(字段值1),(字段值2),(字段值...);

示例:mysql> insert into student(stuno,name) values(1200,'超人'),(1201,'蝙蝠俠'),(1202

,'滅霸');

-- 新增多條資料

insert into 表名(欄位名)

select '海王' union

select '海王老婆' union

……;示例:mysql> insert into student(name)

-> select '海王' union

-> select '海王老婆';

-- 全部修改

update 表名 set 欄位名 = 字段值;

示例:mysql> update student set number = 2222;

-- 條件修改

update 表名 set 欄位名1 = 字段值1,欄位名2 = 字段值2,... where 條件欄位名1 = 條件字段值1,條件欄位名2 = 條件字段值2...;

示例:mysql> update student set loginpwd = 10,*** = '女' where gradeid = 2 and phone = 2;

-- 數值型別運算

update 表名 set 欄位名 = 欄位名 + 1 where 條件欄位名 = 條件字段值;

delete from 表名 where 條件欄位名1 = 條件字段值1 and/or 條件欄位名2 = 條件字段值2;

示例:mysql> delete from student where gradeid = 2 or gradeid = 3;

query ok, 2 rows affected (0.00 sec)

truncate table 表名;

示例:mysql> truncate table student;

-- 將另一張表的對應字段內容新增到新錶中

create table 新錶名(

select 欄位名1,欄位名2 from 舊表名

);示例:

mysql> create table student3(

-> select stuno,name from student);

-- 將舊表字段新增到新錶中

create table 新錶名 like 舊表名;

示例:mysql> create table student5 like student;

-- 完全複製表

create table 新錶名 select * from 舊表名;

示例:mysql> create table student6 select * from student;

-- 將另一張表的對應字段內容新增到對應表中,前提是欄位名要相同

insert into 要新增的表 select 另一張表的欄位名1,另一張表的欄位名2... from 另一張表;

示例:mysql> insert into student4 select stuno,name from student;

-- 將另一張表的全部字段內容新增到對應表中,兩個表字段必須一致

insert into 要新增的表 select * from 另一張表;

示例:mysql> insert into student5 select * from student;

可以拷貝乙個表中其中的一些字段:

create table newadmin as

( select username, password from admin

)可以將新建的表的字段改名:

create table newadmin as

( select id, username as uname, password as pass from admin

)可以拷貝一部分資料:

create table newadmin as

( select * from admin where left(username,1) = 's'

)可以在建立表的同時定義表中的字段資訊:

create table newadmin

( id integer not null auto_increment primary key)as

( select * from admin

)

主鍵:能夠唯一標識資訊表中的一條資料的字段/欄位組

alter table 表名 add constraint 主鍵名 primary key 表名(主鍵欄位名);

alter table 表名 

add constraint 主鍵

primary key 表名(欄位名);

外來鍵《面試題》

外來鍵:在一張表中的某個字段引用的資料來自另一張表的某個欄位的資訊。

主表:它的主鍵一般是需要被從表引用

從表:在其中擁有外來鍵 可以引用主表的主鍵資訊

實現物理外來鍵 :通過sql語句將外來鍵繫結好 ,可以保證資料一致性。

alter table 從表 

add constraint 鍵名

foreign key (從表欄位名)

references 主表(主表欄位名);

為了能夠方便我們進行資料表操作 ,在實際專案中一般不設定物理外來鍵,而設定邏輯外來鍵

相同點: 都可以進行資料刪除(全表刪除);

不同點:dekete 可以進行條件刪除 truncate只能進行全表刪除

delete 會保留自增序列,truncate除了表結構,其他資料全部清空,不會保留自增序列

不同點(先了解):truncate 會結束事務 而delete不會影響到事務。

《面試題》delete truncate的區別

相同點:都可以進行資料刪除(全表刪除)

不同點:delete可以進行條件刪除 truncate只能進行全表刪除

不同點:delete會保留自增序列 truncate除了表結構 其他資料全部清空 不會保留自增序列

不同點(先了解):truncate會結束事務 而delete不會影響到事務

主鍵、外來鍵和索引的區別?

主鍵外來鍵

索引定義:

唯一標識一條記錄,不能有重複的,不允許為空

表的外來鍵是另一表的主鍵, 外來鍵可以有重複, 可以是空值

唯一,可以有乙個空值

作用:用來保證資料完整性

用來和其他表建立聯絡用的

是提高查詢排序的速度

個數:主鍵只能有乙個

乙個表可以有多個外來鍵

乙個表可以有多個索引

MySQL 修改資料表

修改資料表是指修改資料庫中已有資料表的結構。mysql 使用 alter table 語句修改表。mysql 通過 alter table 語句修改表名,語法規則如下 alter table 舊表名 rename to 新錶名 其中 to 為可選引數,使用與否均不影響結果。修改欄位的資料型別,就是把...

MySQL修改資料表

alter ignore table tb name alter spec,alter spec.alter specification add column create definition first after column name 新增新字段 add index index name i...

建立資料表和修改資料表

建立表 sql中建立和刪除資料庫物件的語句被稱為資料定義語言 data definition language,ddl 操作這些物件中資料的語句被稱為資料操作語言 data manipulation language,dml 建立語句屬於ddl,用create table命令 create temp...