表内容的操作
- 增删改查 CRUD (create、retrieve、update、delete)
新增
基本语法
- 语法为:
insertinto 表名 values(值,值,值...);
- 这里的列数和类型,要和表结构匹配
- 插入中文的话,要确保数据库创建的时候要设置字符集为
utf8
(charset
)
隐式类型转换
- 上述这样就是“隐式类型转换”
类型系统
- 比较支持隐式类型转换,称为“弱类型系统”(Java)
- 不太支持隐式类型转换,称为“强类型系统”(C 语言、mysql)
动静态类型
- 动态类型:程序运行中,变量类型可以改变 优势:非常灵活,表达能力更强 缺点:程序运行前,难以做丰富的检查
- 静态类型:程序运行中,变量类型不能改变 优缺点:与动态相反
指定插入
1.指定列插入
- 语法为:
insertinto 表名(列名1,列名2...)value(值1,值2...);
2.多行插入
- 一次插入多行——>高效,快速,低成本
- 语法为:
insertinto 表名 value(),(),();
3.时间插入
- 手动插入时间
- 自动插入时间:**
now()
**
查询
一、全列查询
- 语法为:
select*from 表名;
*
称为通配符(“赖子”),可以指代所有的类- 数据多的时候慎重使用
select *
!!!
二、指定列查询
- 语法为:
select 列名1,列名2...from 表名;
三、指定表达式
- 时列之间进行加减乘除运算
- 因为数据库查询的是“临时表”,所以本体上的数据并没有变化
四、带别名的查询
- 给表达式取名字
- 语法为:
select 表达式 as 别名 from 表名;//as 可以省略
- 这也是只针对临时表进行修改,不会影响到表的本体
五、去重查询
- 语法为:
selectdistinct 别名 from 表名;`
- 去掉重复出现指定数据的行
- 也是对临时表进行操作,不会影响到表的本体数据
六、排序查询
- 顺序排序语法为:
select 列名 from 表名 orderby 表名;
- 倒序排序语法为:
select 列名 from 表名 orderby 表名 desc;//descend
- 多列排序(若第一列相同,就再排列第二列…)语法为:
select 列名 from 表名 orderby 表1, 表2,...
七、条件查询
- 语法为:
select 列名 from 表名 where 条件;
1.一列比较
- 语法为:
select*from exam where math<30;
2 . 多列比较:
- 语法为:
select*from exam where math<english;
3 . and / or 的用法
- 若表达式很复杂,可以加
( )
4 . between and 的用法
- 前闭后开
( , ]
5 . in 的用法
- 离散
6.like 的用法
“%”
- 匹配多个字符
- '孙’在前面;
孙%
- ‘孙’在后面:
%孙
- 含‘孙’:
%孙%
"_ "
- 严格匹配一个字符,一个
_
就占一个位
7.null 的查询
- 不要用
=
直接语null
进行比较,要用<=>
8.分页查询
- 限制依次查询多少记录
- 语法为:
select 列名 from 表名 limit N;
offset
,从下标为几的记录开始算
修改
这是真正在改写硬盘里面的数据,是“持久有效的”
- 语法为:
updata 表名 set 列名=值, 列名=值...;
- where / order by / limit 等等均可以直接加在后面
删除
- 直接对硬盘里面的数据进行操作
- 语法为:
deletefrom 表名 where 条件/orderby/limit;
- 符合条件的有多少删多少,不写条件就是
全删
,但空表
还在 drop
是连表带数据一起删
本文转载自: https://blog.csdn.net/Yechiel/article/details/140587810
版权归原作者 长坡滚雪球 所有, 如有侵权,请联系我们删除。
版权归原作者 长坡滚雪球 所有, 如有侵权,请联系我们删除。