当前位置: 首页 > article >正文

MySQL基本操作

目录

    • 创建库、表
    • 插入数据
    • 修改
    • 查找
      • select
      • where

创建库、表

创建学生信息库:

mysql> create database students;

创建学生信息表:

mysql> use students;
mysql> create table if not exists students(
    -> id int unsigned primary key auto_increment comment '用户的主键',
    -> sn int not null unique comment '学生的学号',
    -> name varchar(20) not null,
    -> qq varchar(20) unique
    -> );

查看结果:

mysql> desc students;

在这里插入图片描述

插入数据

单行数据 + 全列插入:

mysql> insert into students values(100,10000,'蔡徐坤',NULL);
mysql> insert into students values(101,10001,'陈立农',NULL);

多行数据 + 指定列插入:

mysql> insert into students (id,sn,name) values
    -> (102,20001,'范丞丞'),
    -> (103,20002,'黄明昊'),
    -> (104,20003,'林彦俊'),
    -> (105,20004,'朱正廷');

查看插入结果:

mysql> select * from students;

在这里插入图片描述

修改

目前的qq是NULL,可以修改:

mysql> update students set qq = '11111' where name = '蔡徐坤';
mysql> update students set qq = '22222' where name = '陈立农';
mysql> update students set qq = '33333' where name = '范丞丞';

查看结果:

在这里插入图片描述

上述直接修改,接下来也可以在插入时检测自动更新

再次插入,检测到数据冲突自动更新(id冲突):

mysql> insert into students (id,sn,name,qq) values (100,10000,'蔡徐坤',11111) on duplicate key update qq='11112';

结果:冲突代表一次affected,修改代表第二次affected:

Query OK, 2 rows affected (0.00 sec)

在这里插入图片描述

这种方法常用于不确定该条目是否存在,但是你又想去修改它的数据。作用其实相当于replace

replace的功能是如果没检测到冲突,就直接插入,如果有冲突,就将该行全部删掉,再重新插入。

查找

SQL查询中各个关键字的执行先后顺序 from > on> join > where > group by > with > having > select

distinct > order by > limit

select

一般不使用全部搜索,因为数据可能会过于庞大:

mysql> select * from students;
  • 通常使用指定列搜索:
mysql> select id,sn,name from students;

在这里插入图片描述

也可以调整顺序:

mysql> select id,name,sn from students;

在这里插入图片描述

  • 搜索自定义字段,但必须是一个可计算表达式:
mysql> select id,sn+10 from students;

在这里插入图片描述

mysql> select id,sn+id from students;

在这里插入图片描述

  • 给自定义列起别名
mysql> select id,sn+id id加学号 from students;

在这里插入图片描述

  • 去重
mysql> select distinct xxx from students;

where

  • 比较运算符

在这里插入图片描述

LIKE:模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字符

  • 逻辑运算符
  1. AND----多个条件必须都为 TRUE(1),结果才是 TRUE(1)
  2. OR----任意一个条件为 TRUE(1), 结果为 TRUE(1)
  3. NOT----条件为 TRUE(1),结果为 FALSE(0)

where条件是最先查找的,所以别名不可用于where条件中,因为此时的别名还未生成。

因此where条件中必须是表达式

查找id小于103的字段:

mysql> select id,sn from students where id<103;

在这里插入图片描述

id = 10x的字段:

mysql> select id from students where id like '10%';

在这里插入图片描述

也可以使用’_'来严格匹配某个字段


http://www.kler.cn/news/16569.html

相关文章:

  • CAN总线(HALL库使用)
  • vue3通过ref拿element弹框中的组件问题
  • java 图形化小工具Abstract Window Toolit :画笔Graphics,画布Canvas(),弹球小游戏
  • virtio-net收包流程
  • 操作系统入门——知识合集[长期更新......]
  • Python调用二分法和牛顿法求方程的根
  • 密码学作业——置换密码部分
  • 真北游记 | 潮汕行的似水流年
  • 拷贝构造函数和赋值重载函数详解
  • 辅助驾驶功能开发-功能对标篇(16)-NOA 城市辅助系统-毫末智行
  • C++标准库 --- 动态内存 (Primer C++ 第五版 · 阅读笔记)
  • 解密.[support2022@cock.li].faust后缀勒索病毒加密的文件:拯救您的企业数据的完整指南!
  • 100+Python挑战性编程练习系列 -- day 2
  • python基于轻量级YOLOv5的生猪检测+状态识别分析系统
  • 读研读博不emo
  • 数字化医院PACS影像系统 三维影像后处理技术应用
  • 100篇帮小白入门——什么是嵌入式系统?
  • CANOE入门到精通——CANOE系列教程记录2
  • 【Python】芜湖市空气质量指数可视化(散点图、分类散点图、单变量分布图、线性回归拟合图、相关性热力图)
  • Linux常见的网络命令
  • ChatGPT技术原理 第五章:GPT模型
  • 《Effective Python 编写高质量Python代码的59个有效方法》学习笔记5
  • mybatis generator自定义model的代码注释
  • 测牛学堂:2023软件测试入门学习指南之测试方法完结总结
  • EMC VPLEX VS2 FRU故障备件更换基本流程
  • JAVA开发——常用的注解
  • 十一、通过六个因素对织物起球等级进行预测
  • 【第十一届泰迪杯B题】最终版:问题一的实现(含源代码)
  • 26从零开始学Java之如何对数组进行排序与二分查找?
  • scratch比大小 中国电子学会图形化编程 少儿编程 scratch编程等级考试三级真题和答案解析2023年3月