高階查詢(一)

2021-10-10 00:01:44 字數 2298 閱讀 3899

修改表名

乙個資料庫,表名是唯一的,但可以通過sql語句對已經建立的表名進行修改

/*修改表名*/

alter table《舊表名》 rename [to] 《新錶名》;

其中,to為可選引數,使用與否不影響結構。僅修改表名,表結構不變。

新增字段

隨著業務需求的變化,可能需要向已存在的表中新增新的字段

/*新增字段*/

alter table 表名 add 列名 varchar(52) not null;

修改字段

資料表中的乙個字段包含欄位名和資料型別,因此如果實現修改字段,可以包括修改欄位名和修改資料儲存的型別

/*修改字段*/

alter table 表名 change 原列名 新列名資料型別 [屬性];

原列名是修改前的列名,新列名是修改後的欄位名,資料型別為修改後的,如果不修改則和原來的保持一致,資料型別不能為空

刪除字段

刪除欄位是將資料表中的某個欄位從表中移除

/*刪除字段*/

alter table 表名 drop 列名

新增主外來鍵

1.新增主鍵約束

/*新增主鍵約束*/

alter table 表名 add constraint 主鍵名 primary key 表名(主鍵字段);

2.新增外來鍵約束

/*新增外來鍵約束*/

alter table 表名 add constraint 外鍵名 foreign key (外來鍵字段) references關聯表名(關聯字段)

插入資料記錄

1.插入單行資料

/*增加語句*/

insert into 表名 values(值,值);

insert into 表名(列名) values(值);

2.插入多行資料

insert into 新錶(列名) values(值列表),(值列表)
3.將查詢結果插入到新錶

​ 句式1

insert into 新錶(字段,字段)

select 欄位1,欄位2

from 原表;

需要先按照所插入欄位的型別,順序,個數建立新錶,才能插入資料

​ 句式2

select 欄位1,欄位2

into 新錶

from 原表;

插入語句的執行而建立新錶,無須先建表

注意:句式2在mysql中不支援,可以使用另外替代句式實現同樣的功能

create table 新錶(select 欄位1,欄位2,from 原表);
更新資料記錄

對錶中的資料進行更新是一類頻繁發生的操作,在mysql中更新資料的語句和sqlserver中相同

update 表名 set 欄位1=值,欄位2=值,.....欄位n=值n where 條件;
刪除資料記錄

從資料表中刪除資料使用delete語句,同樣也可以使用where 子句新增刪除條件

delete from 表名 where 條件;
除此之外,也可以truncate語句刪除表中所有行

truncate tabke 表名;
注意:truncate語句實現刪除表中所有資料,刪除後將重置自增列,表結構及其字段,約束,索引保持不變,執行速度比delete語句塊

limit子句

在mysql中,查詢語法與sqlserver稍有不同

select 欄位名列表 from 表名 where 查詢條件 group by 分組的字段 order by 排序的列名 asc/desc limit 位置偏移數/行數;
in子查詢

select 欄位名列表 from 表名 where 列名 in(子查詢語句)

mysql高階查詢(一)

修改表 修改表名 alter table 舊表名 rename to 新錶名 新增字段 alter table 表名 add 欄位名 資料型別 屬性 修改字段 alter table 表名 change 原欄位名 新欄位名 資料型別 屬性 刪除字段 alter table 表名 drop 欄位名 新...

MySQL高階查詢(一)

字串連線 select concat my sql 5.5 as result 字串替換 select insert abcdef 3,2,mysql 獲取日期 select now select curdate curtime select week now select year now mon...

高階一 Mysql基礎查詢

基礎查詢示例 總結select 查詢列表 from 表名 1.查詢的結果集 是乙個虛擬表 2.select 查詢列表 類似於 system.out.println 列印內容 select 後面跟的查詢列表,可以有多個部分組成,中間用逗號隔開 例如 select 欄位1,欄位2,表示式 from 表名...