【MySQL】:表操作语法大全

表内容的操作

  • 增删改查
    CRUD (create、retrieve、update、delete)

新增

基本语法

  • 语法为:
sql 复制代码
insert into 表名 values (值,值,值...);
  • 这里的列数和类型,要和表结构匹配
  • 插入中文的话,要确保数据库创建的时候要设置字符集为 utf8 (charset )

隐式类型转换

  • 上述这样就是"隐式类型转换"

类型系统

  1. 比较支持隐式类型转换,称为"弱类型系统"(Java)

  2. 不太支持隐式类型转换,称为"强类型系统"(C 语言、mysql)
    动静态类型

  3. 动态类型:程序运行中,变量类型可以改变
    优势:非常灵活,表达能力更强
    缺点:程序运行前,难以做丰富的检查

  4. 静态类型:程序运行中,变量类型不能改变
    优缺点:与动态相反

指定插入

1.指定列插入

  • 语法为:
sql 复制代码
insert into 表名(列名1,列名2...) value(值1,值2...);

2.多行插入

  • 一次插入多行------>高效,快速,低成本
  • 语法为:
sql 复制代码
insert into 表名 value(),(),();

3.时间插入

  • 手动插入时间

  • 自动插入时间now()

查询

一、全列查询

  • 语法为:
sql 复制代码
select * from 表名;
  • * 称为通配符("赖子"),可以指代所有的类
  • 数据多的时候慎重使用 select * !!!

二、指定列查询

  • 语法为:
sql 复制代码
select 列名1,列名2... from 表名;

三、指定表达式

  • 时列之间进行加减乘除运算
  • 因为数据库查询的是"临时表",所以本体上的数据并没有变化

四、带别名的查询

  • 给表达式取名字
  • 语法为:
sql 复制代码
select 表达式 as 别名 from 表名; //as 可以省略
  • 这也是只针对临时表进行修改,不会影响到表的本体

五、去重查询

  • 语法为:
sql 复制代码
select distinct 别名 from 表名;`
  • 去掉重复出现指定数据的行
  • 也是对临时表进行操作,不会影响到表的本体数据

六、排序查询

  • 顺序排序语法为:
sql 复制代码
select 列名 from 表名 order by 表名;
  • 倒序排序语法为:
sql 复制代码
select 列名 from 表名 order by 表名 desc; //descend
  • 多列排序(若第一列相同,就再排列第二列...)语法为:
sql 复制代码
select 列名 from 表名 order by 表1, 表2, ...

七、条件查询

  • 语法为:
sql 复制代码
select 列名 from 表名 where 条件;

1.一列比较

  • 语法为:
sql 复制代码
select * from exam where math<30;

2 . 多列比较:

  • 语法为:
sql 复制代码
select * from exam where math<english;

3 . and / or 的用法

  • 若表达式很复杂,可以加 ( )

4 . between and 的用法

  • 前闭后开 ( , ]

5 . in 的用法

  • 离散

6.like 的用法

"%"
  • 匹配多个字符
  • '孙'在前面;孙%
  • '孙'在后面:%孙
  • 含'孙':%孙%

"_ "
  • 严格匹配一个字符,一个 _ 就占一个位

7.null 的查询

  • 不要用 = 直接语 null 进行比较,要用 <=>

8.分页查询

  • 限制依次查询多少记录
  • 语法为:
sql 复制代码
select 列名 from 表名 limit N;
  • offset,从下标为几的记录开始算


修改

这是真正在改写硬盘里面的数据,是"持久有效的"


  • 语法为:
sql 复制代码
updata 表名 set 列名=值, 列名=值...;
  • where / order by / limit 等等均可以直接加在后面

删除

  • 直接对硬盘里面的数据进行操作
  • 语法为:
sql 复制代码
delete from 表名 where 条件/order by/limit;
  • 符合条件的有多少删多少,不写条件就是 全删,但 空表 还在
  • drop 是连表带数据一起删

相关推荐
一只fish12 分钟前
MySQL 8.0 OCP 1Z0-908 题目解析(16)
数据库·mysql
泊浮目41 分钟前
未来数据库硬件-网络篇
数据库·架构·云计算
静若繁花_jingjing1 小时前
Redis线程模型
java·数据库·redis
叁沐2 小时前
MySQL 07 行锁功过:怎么减少行锁对性能的影响?
mysql
Java烘焙师2 小时前
架构师必备:业务扩展模式选型
mysql·elasticsearch·架构·hbase·多维度查询
飞翔的佩奇2 小时前
Java项目:基于SSM框架实现的忘忧小区物业管理系统【ssm+B/S架构+源码+数据库+毕业论文+开题报告】
java·数据库·mysql·vue·毕业设计·ssm框架·小区物业管理系统
@Ryan Ding3 小时前
MySQL主从复制与读写分离概述
android·mysql·adb
ZWZhangYu8 小时前
LangChain 构建向量数据库和检索器
数据库·langchain·easyui
feifeigo1239 小时前
升级到MySQL 8.4,MySQL启动报错:io_setup() failed with EAGAIN
数据库·mysql·adb
火龙谷11 小时前
【nosql】有哪些非关系型数据库?
数据库·nosql