侧边栏壁纸
  • 累计撰写 12 篇文章
  • 累计创建 6 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

3. mysql 表的增删改查

Administrator
2025-01-10 / 0 评论 / 0 点赞 / 13 阅读 / 7983 字

mysql 表的增删改查

表的操作

  • create table 表名(列名 列类型, [...列名 列类型])

  • 插入表数据: insert into 表名 values(列值, [...列值])

  • drop table 表名

  • rename table 表名 to 新表名

  • 修改表字符集: alter table 表名 character set 字符集

  • select * from 表名

insert 语句

insert into table_name [(列名, ...列名)] values (列值, ...列值)

insert 语句的细节:

1. 插入的数据应和定义字段的数据类型相同;(数据库数据也存在隐式转换,如  `string(3)  ->  number(3)`, 前提是能转)
2. 列可以插入空值 (前提是改字段允许为空);
3. `insert` 可同时添加多条记录
 + `insert into table_name(列名, ...列名) values (列值, ...列值), (列值, ...列值)` 
4. **insert 数据时,如果插入表中所有列时,可不写前面的字段名称; (`如果列值和表的长度不一致则会报错`)**
 + `insert into table_name values(列值, ...列值)`
5. **如果单指定其中某个字段名和值,其它字段可能会自动为空处理; (前提是, 允许为为空的情况下)**
    1. 表字段: `id, name, price`
    2. `insert into table_name(id, name) values ('1', '三星手机')`   // 列名称不用引号

update 语句

update table_name set 列名=列值 [, 列名=列值] [where where_definition]

where 语句指定条件(应更新哪些行),如果没有 where 语句,则跟新所有行 (set , where 条件列名称不用引号)

delete 语句

delete from 表名 [where where_definition]

1.  如果不适用 `where` 语句,将删除表中所有数据
2. `delete` 语句适用删除行数据; (如需删除列: `alter` ,  如需删除列中的值:`update 设置为null或空`)  
3. `delete` 删除表,将改表的内容都删除,但是表还在 (`drop` 会连表及内容全部删除

select 语句

  • select [distinct] * , [列名, ...列名] from 表名 // 查询表 列名不需要引号

  • select *, [列名 | 表达式, ...列名 | 表达式] from 表名 // 使用表达式对查询的列进行运算

  • 列名 | 表达式, ...列名 | 表达式 表示查询出后tabel 展示的内容

  • select 列名 as 列别名 from 表名 // 在select语句中使用 as 起别名

注意:
+ `select` 指定查询哪些列数据
+ `column` 指定列名, `*` 号代表所有, `from` 指定查询哪张表
+  `distinct` 指显示结果是否去掉重复数据,  只能用在 `select` 语句中
  • group by 对查询结果分组统计 (可进行多个条件分组)

// 分组的目的是为了更方便的查看列数据;
// 一般用于,对数据进行二次整合,指定的分组项可能会进行合并数量自增处理;
select 列名1 [, ...列名2] from 表名 group by 列名1 [, ...列名2]
  • group by column having... 对查询结果分组统计, 限制/过滤分组显示结果 (group by 的过滤 配合 having 使用)

select 列名1 [, ...列名2] from 表名 group by 列名 group by 列名 having...

在where语句中使用的运算符

运算符类型

符号

描述

比较运算符

> < ,>= <= ,= ,!= <> between ...and... in(set) like ‘张pattern’ not like ‘’ is null

大于,小于,大于(小于)等于,不等于 显示在某一区间的值 显示在 in 列表中的值, 如: in(100, 200) 模糊查询 (name like '张%')匹配name以张开头的 模糊查询不包含的 判断是否为空

逻辑运算符

and or not

多个条件同时成立 多个条件任意成立 不成立,例:where not(num>100)

 like语句使用通配符来匹配不包含指定字符串的值
    %:表示匹配任意字符,可以是零个字符、一个字符或多个字符
    _:表示匹配单个字符

order by 语句排序查询

select 列名 [,列名|表达式, ...] from 表名 order by 列名 asc|desc;

order by 指定排序的列, 排序的列即可以是表中的列名,也可以是 select 语句 as 后指定的列名

asc 升序 [默认], desc 降序

order by 语句应位于 select 语句的结尾

表头列信息的操作

  • alter table 表名 add 列名 列类型, [...列名 列类型]

  • 查看表的列结构:desc 表名

  • alter table 表名 drop 列名

  • alter table 表名 change 旧列名 新列名 新列类型

  • desc 表名

0

评论区