一存储引擎
1 mysql存储引擎的种类:MYISAM InnoDB(默认)
2.MYISAM和InnoDB的区别在于InnoDB支持事物处理和外键约束
3.MYISAM和InnoDB的应用场景的区别:MYISAM不需要事物,空间小,已查询访问为主;InnoDB多删除,更新操作,安全性高,事物处理即并发控制
查询存储文件
show variables like '&storage_engine& '
配置(更改)
mysql暗转目录中过的my.ini配置文件;找到default-storage-engine=INNODB,把默认的innodb改成别的引擎类型。
创建引擎
在表的语句的最后写:engine=InnoDB;
二DML
1.数据新增
字段名为 name id pwd height weight
insert into 表名(name)values('张三')添加单字段数据
insert into 表名(name,id)values('张三','01')添加某些数据
insert into表名(name, id, pwd ,heihght ,weight)values('张三','01','000','170','80')添加全部数据,可以省略字段名和字段名加();都是可以的
2.数据新增(多条数据)
insert into 表名(name ,id,pwd,height,weight)vaules('张三','01','000','170','80'); insert into 表名(name ,id,pwd,height,weight)vaules('李四','01','000','170','80');逐行添加
insert into 表名(name ,id,pwd,height,weight)vaules('张三','01','000','170','80'),('李四','01','000','170','80');多行添加
3.数据更新(修改数据)
update 表名 set name='王五' where id=1 修改表中id为1的name的值
update 表名 set name=‘王五’,pwd=‘123’ where id=1 修改id为1的字段中的多个值
update 表名 set name=‘王五’,pwd=‘123’ where id in(3,4) 修改id 为3和4字段中的多个属性
update 表名 set name=‘王五’ 所有所有字段中的name的值
4.数据删除
delete from 表名 where id=1;删除id为1的整行数据
delete from 表名 where id>3(运算符+,-,<=,>=)删除id大于3的所有数据
delete from 表名 where id betwee 1 and 3;删除1-3之间的数据包括1和3
delete from 表名 where id in(1,2)删除1和2的数据
delete from 表名 where id not in(1,2)删除1和2之外的数据
三DQL
1.什么是查询
查询是有结果集的(对比增删改,无结果集)
sql中的查询结果是一种虚拟存在的表(不是真实存在数据库中的)
sql的查询可以通过自定义设置的维度展示(查询一个字段或是多个字段可以是人为设置的)
2.查询机制简介
select*from 表名 where id=1
当id不是主键的时候,而where子句id作为条件的时候,数据库的查询机制是全表扫描
当id是主键的时候,而where子句id作为条件的时候,数据库的查询机制是索引机制
全表扫描和索引机制只有快慢的区别
3.查询语法
select<列|表达式|函数|常量> from表名 where条件 order by 条件|字段(两种展现形式:asc 默认升序 ,降序sesc)==》分组(排序结束才能用分组)
select * from student;查询student中的所有行和列
select a.studentNo,a.loginpwd,a.studentname,a.sex,a.phone,a.address,a.borndate,a.email,a.identitycard from student as a;查询student中的所有行和列
select * from 表名 where 属性名 in (属性值,属性值);查询部分行对应的列
使用as命名列(给表名或者列名设置别名;as可以省略)select * studentName as ' 'from
3.聚合函数
select avg(平均值的属性名) from 表名
select count (需要求行数的属性名后面加上*或者1)from 表名
select max(需要求最大值的属性名) from 表名
select min(需要求最小值的属性名) from 表名
select sum(需要求和的属性名) from 表名
4.字符串函数
select concat (‘a’,'b')字符串拼接ab
select insert( '这是SQL SERVER数据库',3,10,'mysql')字符串替换:从第三位S开始往后数10位结束,把mysql替换进去
select lower(‘MYASQL’)大写转小写
select upper (‘mysql’)小写转成大写
select substring('javamysqloracle',3,5)截取从第三位v开始往后数五位,截取出来
5.数学函数
select*from 表名 order by属性名;升序
select * from 表名 order by属性名 asc;升序
select * from 表名 oreder by 属性名 desc;降序
6.limit
select * from student limit 2;获取表中的前两条记录
select * from student limit 2,4;使用limit时角标从0开始,这里就是2+1第三行到后4行;4不是角标