第四章 DML语句

           DML语句就是对 已经建立好的表的操作及管理如 添加数据  insert into  table ,删除数据 delete from table ,更新数据 update table set 。

一、添加数据

INSERT INTO  t_name (列1,列2,列3) values

( 值1,值2,值3),

( 值1,值2,值3),

( 值1,值2,值3),

( 值1,值2,值3)

;向表中添加整行的数据。

二、删除数据

delete from t_name  where 条件;一行一行的删除数据满足条件的行;有日志文件记录,可以恢复;后面可以跟where条件语句;执行的较慢。

truncate table t_name;整张表删除;没有日志文件,不可恢复;不能跟where条件。

三、更新数据

update  t_name set 列名1=值,列名2=值2,列名3=值3 where 条件;

更新满足条件的行的属性值(列1,列2,列3)它是对 列中的值进行修改。

四、where条件

where后面可以跟上 

算术运算符条件<,>,=,<=,>=,!=,<>也是不等于;

in(1,2,3)与集合里面的值相等;

between  值1   and 值2;  条件是在值1和值2之间。包括2个边界值;

模糊查询 %通配符

like   '%k%';包含k字符的like   'k%';k字符开始的like   '%k';k字符结束的

模糊查询 _   单字符占位符

like   '_k';k字符是第二个字符,它前面有一个字符。

空字符类型  null

表示什么都没有 数据库中显示为(NULL)没有定义数据

有的值 是空的,但不是(NULL) 里面是空字符串 ‘’

条件链接符

and 同时,or有一个,not 非;

 

列子:

CREATE DATABASE lesson4_dml;
CREATE TABLE t_department(
	d_deptid INT PRIMARY KEY AUTO_INCREMENT,-- 部门id
	d_deptname VARCHAR(50) NOT NULL,-- 部门名称
	d_describe VARCHAR(500)-- 部门描述
)ENGINE=INNODB CHARSET='utf8';
CREATE TABLE t_employee(
	e_employeeid INT PRIMARY KEY AUTO_INCREMENT,-- 员工工号
	e_deptid INT NOT NULL,-- 所属部门id
	e_employeename VARCHAR(50) NOT NULL,-- 姓名
	e_gender CHAR(2) NOT NULL DEFAULT '男',-- 性别
 	e_birthday DATETIME NOT NULL,-- 生日
	e_idcard VARCHAR(18) NOT NULL UNIQUE,-- 员工身份证号
	e_degree VARCHAR(12) NOT NULL,-- 学历
	e_graduateschool VARCHAR(50) NOT NULL,-- 毕业学校
	e_graduatedate DATETIME NOT NULL,-- 毕业时间
	e_specialty VARCHAR(50) NOT NULL,-- 专业
	e_telephone VARCHAR(200) NOT NULL,-- 电话,可以存储多个
	e_salary SMALLINT,-- 固定薪水
	e_allowance DECIMAL(18,2),-- 住房补贴
	e_skill VARCHAR(2000),-- 特长
	CONSTRAINT c_valid CHECK(e_birthday<e_getdate() AND e_graduatedate<getdate() AND len(e_idcard)=18),
	CONSTRAINT e FOREIGN KEY (e_deptid) REFERENCES t_department(d_deptid)
)ENGINE=INNODB CHARSET='utf8';
DROP TABLE t_department;
DROP TABLE t_employee;

CREATE TABLE t_goods(
	g_id INT PRIMARY KEY AUTO_INCREMENT,
	g_name VARCHAR(50)NOT NULL UNIQUE,
	g_price INT NOT NULL,
	g_describe VARCHAR(200) NOT NULL,
	g_factory VARCHAR(50) NOT NULL
)CHARSET='utf8';

TRUNCATE TABLE t_goods;
INSERT INTO t_goods (g_name,g_price,g_describe,g_factory) VALUES('物理书1',12,'物理教材课本','新华出版社'),
('物理书2',22,'物理教材课本','新华出版社'),('物理书3',23,'物理教材课本','新华出版社'),('物理书4',25,'物理教材课本','新华出版社'),
('物理书5',34,'物理教材课本','新华出版社');

UPDATE t_goods SET g_price=10 WHERE g_id=4;
UPDATE t_goods SET g_price=12 WHERE g_id BETWEEN 2 AND 10;
UPDATE t_goods SET g_factory='华为' WHERE g_id IN(4,3,1);
DELETE FROM t_goods WHERE g_id<3;
UPDATE t_goods SET g_price=50 WHERE g_factory LIKE '%华为%';
相关文章
相关标签/搜索