MySQL中添加默認值和修改保留默認值

建表添加默認值(默認時間和字符)和備註
 

create table user (id int primary key auto_increment comment '主鍵,默認自增',
name varchar(10),password varchar(20),
sex varchar(6) default '男' COMMENT '默認爲男',
logindate timestamp comment '時間戳類型,默認爲當前系統時間'
);

修改操作-->

alter table user add logindate timestamp;

insert into user values(null,'admin','admin',null,now());-- 當列類型設置爲datetime(默認爲null)時,可以插入時間函數值,而timestamp是默認當前時間,

★完全插入(全列名)-->
insert into user values(null,'lisi','lisi','男','1992-2-2');--完全插入,會覆蓋默認值
★指定插入(只需操作指定的列),不會覆蓋默認值-->
▲當列設置了默認值後,不想該值被覆蓋的話,就必須採用指定操作否則就會被覆蓋了。
insert into user(name,password) values('lisi','lisi'); -- 指定插入數據列,這頂的默認值有效

MySQL中null操作

MySql中查詢濾空函數ifnull 以及判空null查詢 is null 和 is not null。
1、查詢字段值爲空的語法:  where 列名 is null
2、查詢字段值不爲空的語法:where 列名 is not null

判斷null函數-->只能查詢判空ifnull 函數
select ifnull(sex,'female') from user;--查詢當sex爲null時,則設值爲:female。

mysql>   select ifnull(sex,'female') from user;
+----------------------+
| ifnull(sex,'female') |
+----------------------+
| 女                   |
| female               |
| 男                   |
| 男                   |
+----------------------+
4 rows in set (0.00 sec)

mysql> select * from user where sex is null; --取空條件
+----+------+----------+------+---------------------+
| id | name | password | sex  | logindate           |
+----+------+----------+------+---------------------+
|  2 | lisi | lisi     | NULL | 1992-02-02 00:00:00 |
+----+------+----------+------+---------------------+
1 row in set (0.00 sec)

mysql> select * from user where sex is not null; -- 非空條件
+----+------+----------+------+---------------------+
| id | name | password | sex  | logindate           |
+----+------+----------+------+---------------------+
|  1 | lisi | lisi     | 女   | 2018-05-29 09:05:35 |
|  3 | lisi | lisi     | 男   | 1992-02-02 00:00:00 |
|  4 | lisi | lisi     | 男   | 2018-05-29 09:07:15 |
+----+------+----------+------+---------------------+
3 rows in set (0.00 sec)

小demo,演示下,大神繞路。

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