接着上文所讲述的内容:
1.数据化结构语言中的DML与DQL
a)DML 是数据操作语言 ----主要指的是 增、删、改
b)DQL 是数据查询语言 ----主要做的就是查询
2.MySQL的存储类型:
有 MyISAM 、InnoDB 、Memory 、CSV 等9种
主要分析一下MyISAM 与InnoDB的区别:
a)使用MyISAM:不需事务处理,空间小,主要是进行访问、查询的
b)使用InnoDB : 主要是进行删除 、 更新操作 、事务处理以及并发控制 , 关键是安全性高啊!
3.查看当前默认的存储引擎语法:
SHOW VARIABLES LIKE 'storage_engine%'
修改存储引擎: default-storage-engine = InnoDB
例子:设置表的存储引擎
CREATE TABLE `myclass`(
id INT(4)
)ENGINE = MyISAM ;
4.下面呢,就要聊到有关DML语句的一系列操作了
(1)插入单条数据记录语法:
INSERT INTO 表名(字段列表名)
VALUES (值列表)
我们需要注意的是,值列表跟字段名列表必须一一对应!多个列表和多个值之间使用逗号隔开
如果插入的是表中部分数据,字段名列表必须填写!
我们来看一下具体的例子,操作还是挺简单的:
INSERT INTO `student`(`studentNo`,`studentName`,`phone`,`bornDate`)
VALUES('01','张三',1,'13929220222','1999-11-8') ;
(2)插入多条数据记录语法:
INSERT INTO 新的表名(字段名列表)
VALUES (值列表1),(值列表2),……,(值列表n) ;
我们也写个例子,方便理解:
INSERT INTO `subject`(`subjectName`,`classHour`,`gradeID`)
VALUES('Logic Java',220,1),('HTML',160,1),('Java OOP',230,2);
特别要注意的是:为了避免结构化发生变化,导致错误发生,建议大家最好在插入数据时写明具体字段名!!
5.将查询到的结果插入到一个新的表中,咱举个例子吧
CREATE TABLE `phoneList`(
SELECT `studentName`,`phone`
FROM `student`) ;
当然了,这是新表不存在的情况;存在的话,就会报错!而且不能重复创建
6.数据的更新
先来看一看语法结构:
UPDATE 表名
SET 字段1=值1,字段2=值2,…,字段n=值n
WHERE 后面跟的是条件 ;
咱们来看一下实例,很简单 (首先这个表得存在吧,才能去更新;还有更新的字段在原先表中得有)
CREATE TABLE `student`(
`age`INT(4) NOT NULL COMMENT'年龄',
`name`VARCHAR(50)NOT NULL COMMENT'姓名',
`address`VARCHAR(255)DEFAULT'北京海淀区航天桥'
);
UPDATE `student` SET `address`= '航天桥'
WHERE `address`= '北京海淀区航天桥' ;
有更新数据就有删除数据,这儿有两种方法可以执行操作:
a) DELETE FROM 表名 WHERE +条件 ;
b) TRUNCATE TABLE 表名 ; (执行速度比上面的快)
用法:DELETE FROM student WHERE studentName = ‘王大’;
TRUNCATE TABLE student;
7.最后我们看一看 查询语法:
a) 有关排序的 SELECT <可填的内容:列名|表达式|函数|常量>
FROM 表名
WHERE + 查询条件表达式
ORDER BY 排序的列名 [ASC或DESC]; DESC指的是从高到低排序,不写就默认是正序
看一下例子: SELECT `studentNo`,`studentName`,`phone`,`address`,`bornDate`
FROM `student`
WHERE `gradeId` = 1
ORDER BY `studentNo` ;
b) 列别名,用AS命名列:
FROM `student`
WHERE `address` <> ' 北京海淀区 ' ;