MySQL-增刪改查(四)

MySQL-增刪改查


例子表結構

create table message(
id int unsigned auto_increment,
name varchar(20) not null comment '姓名',
phone varchar(20) comment '手機號',
site varchar(20) default '地址不詳'comment '地址',
primary key(id)
);

向表裏添加數據時有兩種方法:①指定字段名(列名)②不指定字段名(列名)
不指定字段名時必須保證插入數據的順序與表中定義的字段順序相同

insert into…values

格式:insert into 表名 (字段名) values (值);
由於表結構中id已經設置自增,就算添加數據時不添加字段id的值,系統也會自行生成,每個值都是上一個值+1
下面第一條數據沒有對id字段添加值,所以也是生效的,不會報錯
第二條和第三條就是指定字段名與不指定字段名的命令
添加數據時如果添加的是字符串一定要加單引號

insert into message(name,phone,site) values('錢一','164981541','北京');
insert into message(id,name,phone,site) values('2','孫二','16491285541','上海');
insert into message values('3','張三','17891285541','廣州');

在這裏插入圖片描述

insert into…set

格式:insert into 表名 set 字段名=‘值’;
除了上面的values添加數據還可以用set
下面就是隻添加一個name的命令,其中表結構中手機設置的可以爲空,地址默認的是字符串地址不詳
如果使用set只添加手機號的話就會報錯,因爲name字段設置的是不能爲空,不爲空的字段是必須要有值的

insert into message set name='李四';
insert into message set name='王五',phone='415185156',site='深圳';

在這裏插入圖片描述

格式:delete from 表名 where 字段名=值;
值的類型如果是字符串需要加單引號,where條件語句後面跟表達式,如等於,大於,小於,滿足條件的語句都會被刪除
刪除語句中如果不使用where條件語句的話,將刪除所有數據。

delete from message where name='孫二';
delete from message where id=3;
delete from message;

在這裏插入圖片描述
使用delete時候,有一個問題點就是當你刪除一條數據時其他的id值(自增)並沒有進行重新刷新排序,因爲之前做的一個Java項目需要一個這樣的一個需求,網上找了很多都沒有找到準確的答案,然後就使用的一個效率比較低的方法,先把原表裏的主鍵刪除然後重新添加主鍵id就解決了,這種方法可能比較笨,但也是目前本人知道的一種解法
在這裏插入圖片描述

格式:update 表名 set 字段名1=新值 where 字段名2=值;
可以同時修改一個或多個字段,如果要修改多個字段的值使用逗號隔開
修改語句中如果沒有where條件語句,將修改整個表中指定字段名的值

update message set name='張三',site='廣州' where id=2;

在這裏插入圖片描述

格式:select 字段名 from 表名;
*:表示所有字段,也是比較常用的
查詢多個字段裏的數據使用逗號分隔,可以在語句後面添加where條件語句,可以使用LIMIT控制輸出的條數
以下只是select的簡單用法,之後會專門寫一篇select的筆記

select * from message;
select phone from message;
select name,site from message;
select name,site from message where site='廣州';
select name,site from message limit 1;

在這裏插入圖片描述

以上均爲個人學習筆記,如有錯誤請指正,共同學習,謝謝。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章