mysql语句整理

创建表

CREATE TABLE 表名 (
  列名1 数据类型,
  列名2 数据类型,
  ...
);

查询:

1.查询表中的所有数据:

select * form 表名 

示例:假设有一个名为 users 的表,您可以执行以下查询来获取表中的所有数据:SELECT * FROM users;

2.根据条件查询表中的数据:

select * form 表名 where 字段=入参

示例:假设有一个名为 users 的表,其中有一个名为 name 的字段,您可以执行以下查询来根据条件获取表中的数据:
SELECT * FROM users WHERE name = 'John';
请注意,上述示例中的 ‘John’ 是一个示例入参,您需要根据实际情况替换为您想要匹配的值。

3.分页查询表中的数据:

select * form 表名 limit 起始下标,每页条数

示例:假设有一个名为 users 的表,您可以执行以下查询来进行分页查询:SELECT * FROM users LIMIT 0, 10;
上述示例中的 0 是起始下标,表示从第一条数据开始。10 是每页条数,表示每页显示 10 条数据。您可以根据实际需求调整起始下标和每页条数。

4.查询表中的数据总数:

select	count(*) form 表名

示例:假设有一个名为 users 的表,您可以执行以下查询来获取表中的数据总数:SELECT COUNT(*) FROM users;
上述查询将返回一个结果,表示 users 表中的数据总数。

5.模糊查询

select * form 表名 where 字段名 like '%关键词%';

示例:假设有一个名为 users 的表,其中有一个名为 name 的字段,您可以执行以下查询来模糊匹配表中的数据:
SELECT * FROM users WHERE name LIKE '%John%';
上述示例将返回表中 name 字段中包含关键词 John 的所有匹配行。

6.多表联查

SELECT 列名 FROM1
INNER JOIN2 ON1.字段 =2.字段;

请将 列名 替换为要查询的列名,表1 和 表2 替换为要连接的表名,字段 替换为连接两个表的共同字段名。

示例:假设有两个表,users 表和 orders 表,这两个表通过 users 表中的 user_id 字段和 orders 表中的 user_id 字段进行关联。您可以执行以下查询来获取这两个表的联合数据:

SELECT users.name, orders.order_number
FROM users
INNER JOIN orders ON users.user_id = orders.user_id;

上述示例中,users 表和 orders 表通过 user_id 字段进行内连接,查询结果将返回 users 表中的 name 列和 orders 表中的 order_number 列。
如果要使用左连接,可以将 INNER JOIN 替换为 LEFT JOIN。

插入

insert into 表名 (字段1,字段2...) values (值1,值2...

示例:假设有一个名为 users 的表,其中有 id、name 和 age 字段,您可以执行以下插入语句来插入一条新记录:
INSERT INTO users (id, name, age) VALUES (1, 'John', 25);
上述示例将在 users 表中插入一条记录,其中 id 为 1,name 为 ‘John’,age 为 25。
如果要插入多条记录,可以使用多个值列表,每个值列表用逗号分隔。例如:
INSERT INTO users (id, name, age) VALUES (1, 'John', 25), (2, 'Jane', 30), (3, 'Bob', 35);
上述示例将在 users 表中插入三条记录。

删除

`delete form 表名 where 条件`

示例:假设有一个名为 users 的表,您可以执行以下删除语句来删除满足特定条件的数据:DELETE FROM users WHERE id = 1;
上述示例将删除 users 表中 id 为 1 的记录。
如果要删除表中的所有数据,可以省略 WHERE 子句:
delete form 表名;
示例:假设有一个名为 users 的表,您可以执行以下删除语句来删除表中的所有数据:DELETE FROM users;

也可以将delete 替换为 truncate:

如果您只想删除表中的部分数据行,并且需要指定删除条件,可以使用 DELETE 语句。

如果您希望删除表中的所有数据,并且不需要指定删除条件,可以使用 TRUNCATE 语句。TRUNCATE 通常比 DELETE 更快,因为它是一次性删除整个表的操作。

修改

UPDATE 表名 SET 列名1 =1, 列名2 =2, ... WHERE 条件;
`update 表名 set 字段1=?,字段2=?,... where 条件1=?` [字段1,字段2,条件1] 
我使用的是koa的eggjs框架,写发如下:
   async update(theory,skill,id){
        await this.app.mysql.query('update scorelist set theory=?,skill=? where id=?',[theory,skill,id])
    }

示例:假设有一个名为 users 的表,其中有 id、name 和 age 字段,您可以执行以下 UPDATE 语句来更新满足特定条件的数据:
UPDATE users SET name = 'John Doe', age = 30 WHERE id = 1;
上述示例将更新 users 表中 id 为 1 的记录,将 name 更新为 ‘John Doe’,将 age 更新为 30。

如果要更新多个列的值,可以在 SET 子句中用逗号分隔多个列的更新:
UPDATE users SET name = 'Jane Smith', age = 25 WHERE id = 2;
上述示例将更新 users 表中 id 为 2 的记录,将 name 更新为 ‘Jane Smith’,将 age 更新为 25。

请注意,在使用 UPDATE 语句更新数据时,请确保更新的条件是唯一的,以免误操作更新到不符合预期的数据。

  • 18
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值