您的位置:首页 > 新闻 > 热点要闻 > 清远市最新消息_上海工程咨询行业协会_友情链接怎么弄_吉林网络seo

清远市最新消息_上海工程咨询行业协会_友情链接怎么弄_吉林网络seo

2025/7/1 17:59:23 来源:https://blog.csdn.net/weixin_62234646/article/details/147605848  浏览:    关键词:清远市最新消息_上海工程咨询行业协会_友情链接怎么弄_吉林网络seo
清远市最新消息_上海工程咨询行业协会_友情链接怎么弄_吉林网络seo

1. DATABASE 数据库

# 创建数据库
CREATE DATABASE `fish`DEFAULT CHARACTER SET = 'utf8mb4';# 查询数据库列表
SHOW DATABASES;# 选择数据库
USE fish;# 删除数据库
DROP DATABASE fish;

2. TABLE 数据表

2.1 操作语句
# 创建一张 user表
CREATE TABLE `user` (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '用户ID',name VARCHAR(50) COMMENT '用户名',age INT COMMENT '年龄',address VARCHAR(100) COMMENT '地址',create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -- TIMESTAMP 时间戳类型update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) COMMENT '用户表';# 查询所有数据表
SHOW TABLES;# 修改表名
ALTER `fish` RENAME `cat`;# 添加一列
ALTER TABLE `user` ADD COLUMN `hobby` VARCHAR(50) COMMENT '爱好' AFTER `age`;# 删除一列或多列
ALTER TABLE `user` DROP `hobby`, DROP `address`;# 编辑列类型
ALTER TABLE `user` MODIFY `age` INT(3) COMMENT '年龄', MODIFY `hobby` VARCHAR(50) COMMENT '爱好';# 修改列名
ALTER TABLE `user` CHANGE COLUMN `username1` `username` VARCHAR(50) COMMENT '用户名';
2.2 查询语句
# 查询结果别名展示
SELECT * FROM `user`;
SELECT id as user_id FROM `user`;# 按照年龄降序查询用户表前5条数据
SELECT * FROM `user` ORDER BY age DESC LIMIT 0, 5;
-- ASC升序(默认) DESC降序
-- LIMIT 限制查询 {开始(从0开始)},{数量} 从第一条开始往后查询5条数据# 条件联合查询 WHERE		AND与 OR或
SELECT * FROM `user` WHERE username IN ('小表姐', '小表妹') AND age BETWEEN 20 AND 30;
-- IN () 包括括号中的值
-- [NOT] BETWEEN {20} AND {30}	[不]在二者之间# 模糊查询 LIKE
SELECT * FROM `user` WHERE username LIKE '%小__';
-- %匹配任意个 _匹配一个
2.3 增删改语句
# 插入一条数据 INSERT INTO
INSERT INTO `user`(name,age,address) VALUES('鱼钓猫',24,'上海市');
INSERT INTO user(`username`, `age`, `hobby`, `address`) VALUES('小表姐', 24, '鸟语花香', '杭州市');
# 更新一条数据 UPDATE SET
UPDATE `user` SET username = '小表妹', age = 12 WHERE id = 6;
# 删除一条或多条数据 DELETE FROM
DELETE FROM `user` WHERE id IN (7, 8);
2.4 表达式 + 函数
SELECT CONCAT(`username`, '啊') AS username,
IF(`sex` = 1, '男', '女') as sex,
age + 1 AS age,
LEFT(`address`, 2) AS address,
ROUND(RAND(), 6) AS random_num
-- ROUND(AVG(age), 2) AS avg_age
FROM `user`;# 查询总条数
SELECT COUNT(*) AS total FROM `user`;
  • RAND():生成一个随机小数,[0, 1)
  • CONCAT({字段}, 'str'):字符串合并
  • LEFT / RIGHT(2):左 / 右截取
  • ROUND({字段}[, 2]):四舍五入,[合并位数]
  • SUM({字段}):求和
  • AVG({字段}):求平均数
  • MAX / MIN({字段}):最大 / 最小值
  • COUNT(*):总条数
  • NOW():返回当前日期
  • DATE_ADD / DATE_SUB(NOW(), INTERVAL 1 DAY):明天 / 昨天的时间
  • IF({条件表达式}, {真值}, {假值}):判断语句
2.5 子查询 IN([SQL查询语句])
# 查询用户表中所有语文成绩90分及以上的人员信息
SELECT * FROM `user` WHERE id IN (SELECT user_id FROM `source` WHERE Chinese >= 90);
2.6 连接查询
  1. 内连接:连接后的数据表中会包含两张表中所有的列,条数取决于关联表中较少的条数,可能会造成数据缺失。
SELECT * FROM `user`, `source` WHERE `user`.id = `source`.user_id;
-- 连接后的数据表中会包含两张表中所有的列,条数取决于关联表中较少的条数,可能会造成数据缺失。
SELECT * FROM `user` AS u INNER JOIN `source` AS s ON u.id = s.user_id;
  1. 外连接
  • 左连接 LEFT JOIN ON
SELECT * FROM `user` AS u LEFT JOIN `source` AS s ON u.id = s.user_id;
-- user作为驱动表,source作为从表,user表中所有的记录都会被查询出来,source表中没有的记录会用NULL填充。
  • 右连接 RIGHT JOIN ON
SELECT * FROM `user` AS u RIGHT JOIN `source` AS s ON u.id = s.user_id;
-- source作为驱动表,user作为从表,source表中所有的记录都会被查询出来,user表中没有的记录会用NULL填充。

3. 数据库链接

npm i mysql2 js-yaml

db.config.yaml

db:user: rootpassword: roothost: localhostport: 3306database: test

idnex.js

import fs from "fs";
import jsyaml from "js-yaml";
import mysql2 from "mysql2/promise";const yaml = fs.readFileSync("./db.config.yaml", "utf-8");
const config = jsyaml.load(yaml); // 获取配置对象
// console.log('config', config);const sql = await mysql2.createConnection(config.db);const [data] = await sql.query("SELECT * FROM user");

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com