mysql基础

Posted on 2023-06-23 19:05  liuxin6de1b  阅读(10)  评论(0编辑  收藏  举报

一存储引擎

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不是角标

 

Copyright © 2025 liuxin6de1b
Powered by .NET 9.0 on Kubernetes