數據庫操作語言(DML語言)

數據庫的意義:數據存儲,數據管理

管理數據庫的話,我們會使用可視化數據庫軟件管理,比如SQLyog,

但通常我們會寫sql,所以有了DML語言:數據操縱語言 Manipulation

  • insert
  • update
  • delete

 

一、之前,我們用的是填表,但不建議這麼使用,我們用insert插入語句

插入語句(添加)

insert into 表名([字段名1,字段2,字段3])values('值1'),('值2'),('值3'),(...)

1.新建年級表

CREATE TABLE `grade`(
  `gradeid` INT(10) NOT NULL AUTO_INCREMENT COMMENT '年級id',
  `gradename` VARCHAR(50) NOT NULL COMMENT '年級名稱',
  PRIMARY KEY (`gradeid`)
)ENGINE=INNODB DEFAULT CHARSET=utf8 ; 

2.新建學生表

CREATE TABLE IF NOT EXISTS `student`( 
   `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '學號', 
   `name` VARCHAR(30)NOT NULL DEFAULT '匿名' COMMENT '姓名',
   `pwd` VARCHAR(20)NOT NULL DEFAULT '123456' COMMENT '密碼', 
   `sex` VARCHAR(2)NOT NULL DEFAULT '女' COMMENT '性別', 
   `birthday` DATETIME DEFAULT NULL COMMENT '出生日期', 
   `gradeid` INT(10) NOT NULL COMMENT '學生的年級',
   `address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址', 
   `email` VARCHAR(50) DEFAULT NULL COMMENT '郵箱', 
   PRIMARY KEY (`id`)
 )ENGINE=INNODB DEFAULT CHARSET=utf8 ; 

3.測試

INSERT INTO `grade`(`gradename`) VALUES('大四')

-- 由於主鍵自增我們可以省略 (如果不寫表的字段,它就會一一匹配)
--INSERT INTO `grade`(`gradeid`,`gradename`) VALUES('大三','null')

-- 一般寫插入語句,我們一定要保證數據和字段一一對應!
-- 插入多個字段
INSERT INTO `grade`(`gradename`) 
VALUES('大二'),('大一')

 

注意:

  1. 字段和字段之間使用 英文逗號 隔開
  2. 字段是可以省略的,但後邊的值必須要與表字段全部一一對應,不能少。
  3. 可以同時插入多條數據,VALUES後面的值需要使用,隔開,VALUES(),(),……

二、用update修改語句

update 修改誰 (條件) set 原來的值 = 新值

update 表名 set column_name = value,column_name = value,... where [條件]

-- 修改學員的名字,帶了條件
UPDATE `student` SET `name`='斷浮' WHERE id= 1;

-- 不指定條件的情況下,會改動所有的表!
UPDATE `student` SET `name`='嫦娥100號'

 

-- 修改多個屬性,逗號隔開
UPDATE `student` SET `name`='斷浮',`email`='[email protected]' WHERE id = 1;

 

-- 通過多個條件定位數據,無上限!&& ||
UPDATE `student` SET `name`='嫦娥' WHERE `name`='嫦娥100號' AND sex='男'

條件:where子句 運算符 id 等於某個值,大於某個值,在某個區間內修改...

操作符會返回 布爾值

操作符

含義

範圍

結果

=

等於

5=6

flase

<> !=

不等於

5<>6

true

>

     

<

     

>=

     

<=

     

BETWEEN...AND...

在...和...之間

[2,5]

有2,5之間數據則true

AND

我和你 &&

 

兩個判斷條件都成立則true

OR

我或你 ||

 

兩個條件一個成立則true

注意:

  1. column_name 是數據庫的列,儘量帶上 ``
  2. 條件,篩選的條件,如果沒有指定,則會修改所有的列
  3. value,是一個具體的值,也可以是一個變量
  4. 多個設置的屬性之間,使用英文逗號
UPDATE `student` SET `birthday`=CURRENT_DATE,`sex`='男' WHERE `name`='斷浮' AND sex='女'

三、用delete刪除語句

delete from 表名 [where 條件]

-- 刪除數據(避免這樣寫,會全部刪除)
DELETE FROM `student`

-- 刪除指定數據
DELETE FROM `student` WHERE id =4;

TRUNCATE 命令

作用:完全清空一個數據庫表,表的結構和索引約束不會變!

-- 清空 student表
TRUNCATE `student`


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