新增
**1.单行插入 insert into 表名 values (值,值...); **
2.指定列插入 insert into 表名 (列名,列名...) values (值,值...);
3.多行插入 insert into 表名 values (值,值...), (值,值...)...;
查询
1.全列查询 select * from 表名;
2.指定列查询 select 列名,列名... from 表名;
3.查询带表达式 select 表达式 from 表名;
4,查询带别名 select 表达式 as 别名 from 表名;
5.查询去重 select distinct 列名 from 表名;
6.查询结果排序 select 列名 from 表名 order by 列名 asc/desc; 升/降
7.条件查询 select 列名 from 表名 where 条件;
(基本:and且 or或 范围:between...and... in 模糊 like %_ is null )
8.分页查询 select 列名 from 表名 limit N offset M;
修改
update 表名 set 列名 = 值, 列名 = 值... where 条件
删除
delete from 表名 where 条件; 删除条件控制的列
delete from 表名; 删除所有列
1. 新增(create)
insert into 表名 values (值 , 值 ...);
(1)这里值的类型和个数,要和表的列的类型和个数要匹配
(2)使用单引号和双引号都可以表示字符串
(3)在创建数据库时就要确定好,要使用的字符集
在SQL中,没有字符类型,使用单引号和双引号都可以表示字符串
** 🤠 下面看这个**
如果我们放入的字符是汉字就会报错,这是因为MySQL默认是拉丁文,是不支持中文的
下面可以输入**SHOW VARIABLES LIKE 'character%';**查看字符编码方式
** 1. 如果要支持中文,那就要重新创建数据库来支持中文比如utf8**
create database 数据库名 character set utf8;
但这种方法,每次创建库时都要指定,比较麻烦
**2. 还可以,直接修改mysql配置文件,把数据库字符集配置成默认的想要设置的字符集 **
这样以后就不用指定,可以直接插入了
下面来修改一下mysql配置文件
(1)先找到一个my.ini的文件
可以搜索电脑中的服务找到mysql这一项,点击属性
** (2)在电脑中找到这个路径下的my.ini文件,先备份,然后再打开它**
(3)分别找到mysql和mysqld下的 这两项去掉# 给后面加上utf8保存
(4)重新启动服务器,重新建库、建表
指定列插入 多行插入
insert into 表名(列名,列名...) values (值,值,,,); 指定列插入
insert into 表名 values (值,值...),(值,值)...; 多行插入
2. 查询(retrieve)
2.1 全列查找
**select * from 表名; **查询出当前表所有的行,和所有的列
2.2 指定列查询
** select 列名 from 表名;**
这里查询只能看见两列,不代表其它列被删除,这只是一个临时表
临时表示根据服务器的数据生成的,所有的查询操作,都不会影响服务器磁盘上的数据
2.3 查询字段为表达式
**select 表达式 from 表名; **
** 表达式查询,列和列之前进行计算**
**如果列和列之间计算,加上字符就会发出警告 **
临时表的列名,就是表达式的内容,这样看不美观,可读性不高
所以可以在查询时,给临时表的列指定别名
2.4 给查询结果的列起别名
select 列名 as 别名 from 表名;
2.5 查询去重
select distinct 列名 from 表名;
2.6 对查询结果进行排序操作
**升序排列 select 列名 from 表名 order by 列名(排序列); ** 或者给后面加asc
**降序排列 select 列名 from 表名 order by 列名(排序列) desc; **
** 降序排序,要在最后加上desc**
** 指定多个列排序,哪个列在前,哪个列优先级高**
** 也可以分别,指定一个列升序,一个列降序**
2.7 条件查询
查询时指定筛选条件, where 子句来表示子句
select 列名 from 表名 where 条件;
条件查询需要注意各种运算符,这里特别说明
= :等于,NULL不安全,例如:null = null 的结果是null
**<=> : 等于,null安全,例如:null<=>null 的结果是true **
**2.7.1 基本查询 **
按条件,查询单行
按条件,两行比较
按条件表达式,进行查询
and和or
2.7.2 范围查询
(1)between...and...
当表很大时,条件查询遍历表,效率非常低
所以可以优化查询,最有效的方法是根据索引
(2)in
2.7.3 模糊查询
依赖一些通配符来表示要匹配的值是啥样的(like)
% 代替任意个任意字符 _代替一个任意字符
like 匹配时比较低效的
** NULL的查询**
is null / is not null
** 2.8 分页查询**
很多时候数据太多,分成多个页进行显示
select 列名 from 表名 limit N; 查询前N条记录
select 列名 from 表名 limit N offset M; 从第M条记录开始,
3. 修改(update)
update 表名 set 列名 = 值, 列名 = 值 ... where 条件;
4. 删除(delete)
delete from 表名 where 条件;
要是不写条件,就全部删除了 ,但是表换在,只是表剩一个空表了
版权归原作者 快到锅里来呀 所有, 如有侵权,请联系我们删除。