MySQL数据库基本操作(一)

数据库的基本概念

1. 数据库的英文单词: DataBase 简称 : DB
2. 什么数据库?* 用于存储和管理数据的仓库。
​
3. 数据库的特点:1. 持久化存储数据的。其实数据库就是一个文件系统2. 方便存储和管理数据3. 使用了统一的方式操作数据库 -- SQL

MySQL数据库软件

1. 卸载1. 去mysql的安装目录找到my.ini文件* 复制 datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"2. 卸载MySQL3. 删除C:/ProgramData目录下的MySQL文件夹。2. 配置* MySQL服务启动1. 手动。2. cmd--> services.msc 打开服务的窗口3. 使用管理员打开cmd* net start mysql : 启动mysql的服务* net stop mysql:关闭mysql服务* MySQL登录1. mysql -uroot -p密码2. mysql -hip -uroot -p连接目标的密码3. mysql --host=ip --user=root --password=连接目标的密码* MySQL退出1. exit2. quit
​* MySQL目录结构1. MySQL安装目录:basedir="D:/develop/MySQL/"* 配置文件 my.ini2. MySQL数据目录:datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"* 几个概念* 数据库:文件夹* 表:文件* 数据:数据

SQL

1.什么是SQL?Structured Query Language:结构化查询语言其实就是定义了操作所有关系型数据库的规则。每一种数据库操作的方式存在不一样的地方,称为“方言”。2.SQL通用语法1. SQL 语句可以单行或多行书写,以分号结尾。2. 可使用空格和缩进来增强语句的可读性。3. MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。4. 3 种注释* 单行注释: -- 注释内容 或 # 注释内容(mysql 特有) * 多行注释: /* 注释 */3. SQL分类1) DDL(Data Definition Language)数据定义语言用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等2) DML(Data Manipulation Language)数据操作语言用来对数据库中表的数据进行增删改。关键字:insert, delete, update 等3) DQL(Data Query Language)数据查询语言用来查询数据库中表的记录(数据)。关键字:select, where 等4) DCL(Data Control Language)数据控制语言(了解)用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT, REVOKE 等

DDL:操作数据库、表

1. 操作数据库:CRUD1. C(Create):创建* 创建数据库:* create database 数据库名称;* 创建数据库,判断不存在,再创建:* create database if not exists 数据库名称;* 创建数据库,并指定字符集* create database 数据库名称 character set 字符集名;
​* 练习: 创建db4数据库,判断是否存在,并制定字符集为gbk* create database if not exists db4 character set gbk;2. R(Retrieve):查询* 查询所有数据库的名称:* show databases;* 查询某个数据库的字符集:查询某个数据库的创建语句* show create database 数据库名称;3. U(Update):修改* 修改数据库的字符集* alter database 数据库名称 character set 字符集名称;4. D(Delete):删除* 删除数据库* drop database 数据库名称;* 判断数据库存在,存在再删除* drop database if exists 数据库名称;5. 使用数据库* 查询当前正在使用的数据库名称* select database();* 使用数据库* use 数据库名称;
2. 操作表1. C(Create):创建1. 语法:create table 表名(列名1 数据类型1,列名2 数据类型2,....列名n 数据类型n);* 注意:最后一列,不需要加逗号(,)* 数据库类型:1. int:整数类型* age int,2. double:小数类型* score double(5,2)3. date:日期,只包含年月日,yyyy-MM-dd4. datetime:日期,包含年月日时分秒  yyyy-MM-dd HH:mm:ss5. timestamp:时间错类型  包含年月日时分秒     yyyy-MM-dd HH:mm:ss    * 如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值
​6. varchar:字符串* name varchar(20):姓名最大20个字符* zhangsan 8个字符  张三 2个字符
        * 创建表create table student(id int,name varchar(32),age int ,score double(4,1),birthday date,insert_time timestamp);* 复制表:* create table 表名 like 被复制的表名;      2. R(Retrieve):查询* 查询某个数据库中所有的表名称* show tables;* 查询表结构* desc 表名;3. U(Update):修改1. 修改表名alter table 表名 rename to 新的表名;2. 修改表的字符集alter table 表名 character set 字符集名称;3. 添加一列alter table 表名 add 列名 数据类型;4. 修改列名称 类型alter table 表名 change 列名 新列别 新数据类型;alter table 表名 modify 列名 新数据类型;5. 删除列alter table 表名 drop 列名;4. D(Delete):删除* drop table 表名;* drop table  if exists 表名 ;
  • 客户端图形化工具:SQLYog

增删改表中数据

1. 添加数据:* 语法:* insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);* 注意:1. 列名和值要一一对应。2. 如果表名后,不定义列名,则默认给所有列添加值insert into 表名 values(值1,值2,...值n);3. 除了数字类型,其他类型需要使用引号(单双都可以)引起来
2. 删除数据:* 语法:* delete from 表名 [where 条件]* 注意:1. 如果不加条件,则删除表中所有记录。2. 如果要删除所有记录1. delete from 表名; -- 不推荐使用。有多少条记录就会执行多少次删除操作2. TRUNCATE TABLE 表名; -- 推荐使用,效率更高 先删除表,然后再创建一张一样的表。
3. 修改数据:* 语法:* update 表名 set 列名1 = 值1, 列名2 = 值2,... [where 条件];
​* 注意:1. 如果不加任何条件,则会将表中所有记录全部修改。

查询表中的记录

* select * from 表名;
​
1. 语法:select字段列表from表名列表where条件列表group by分组字段having分组之后的条件order by排序limit分页限定
2. 基础查询1. 多个字段的查询select 字段名1,字段名2... from 表名;* 注意:* 如果查询所有字段,则可以使用*来替代字段列表。2. 去除重复:* distinct3. 计算列* 一般可以使用四则运算计算一些列的值。(一般只会进行数值型的计算)* ifnull(表达式1,表达式2):null参与的运算,计算结果都为null* 表达式1:哪个字段需要判断是否为null* 如果该字段为null后的替换值。4. 起别名:* as:as也可以省略
3. 条件查询1. where子句后跟条件2. 运算符* > 、< 、<= 、>= 、= 、<>* BETWEEN...AND  * IN( 集合) * LIKE:模糊查询* 占位符:* _:单个任意字符* %:多个任意字符* IS NULL  * and  或 &&* or  或 || * not  或 !-- 查询年龄大于20岁
​
SELECT * FROM student WHERE age > 20;SELECT * FROM student WHERE age >= 20;
            -- 查询年龄等于20岁
    SELECT * FROM student WHERE age = 20;
            -- 查询年龄不等于20岁
   SELECT * FROM student WHERE age != 20;SELECT * FROM student WHERE age <> 20;
            -- 查询年龄大于等于20 小于等于30
  SELECT * FROM student WHERE age >= 20 &&  age <=30;SELECT * FROM student WHERE age >= 20 AND  age <=30;SELECT * FROM student WHERE age BETWEEN 20 AND 30;
            -- 查询年龄22岁,18岁,25岁的信息
 SELECT * FROM student WHERE age = 22 OR age = 18 OR age = 25SELECT * FROM student WHERE age IN (22,18,25);
            -- 查询英语成绩为null
   SELECT * FROM student WHERE english = NULL; -- 不对的。null值不能使用 = (!=) 判断SELECT * FROM student WHERE english IS NULL;
            -- 查询英语成绩不为null
   SELECT * FROM student WHERE english  IS NOT NULL;

            -- 查询姓马的有哪些? like
  SELECT * FROM student WHERE NAME LIKE '马%';
            -- 查询姓名第二个字是化的人
  SELECT * FROM student WHERE NAME LIKE "_化%";
            -- 查询姓名是3个字的人
 SELECT * FROM student WHERE NAME LIKE '___';

            -- 查询姓名中包含德的人
SELECT * FROM student WHERE NAME LIKE '%德%';

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/715007.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信自动回复,基于python

#!/usr/bin/python3 # -*- coding: utf-8 -*-import numpy as np import pandas as pd from uiautomation import WindowControl import csvwx WindowControl(Name微信,searchDepth1 ) # 切换窗口 wx.ListControl() wx.SwitchToThisWindow() # 寻找会话控件绑定 hw wx.…

LaTeX-设置表格大小

文章目录 LaTeX-设置表格大小1.创建表格2.设置表格的宽度2.1控制表格每一列的宽度2.2控制整个表格的宽度 3.设置表格的外观4.LaTeX绘制三线表 LaTeX-设置表格大小 本文介绍了LaTeX如何设置表格的大小、改变表格的外观以及如何绘制三线表。 1.创建表格 在LaTeX中创建表很耗时…

【前端素材】推荐优质后台管理系统网页my-Task平台模板(附源码)

一、需求分析 1、系统定义 后台管理系统是一种用于管理网站、应用程序或系统的工具&#xff0c;通常由管理员使用。后台管理系统是一种用于管理和控制网站、应用程序或系统的管理界面。它通常被设计用来让网站或应用程序的管理员或运营人员管理内容、用户、数据以及其他相关功…

2023年NOC大赛软件创意编程(学而思)赛道图形化小低高组决赛试题

2023NOC 决赛-小低组 每个小朋友从小会有梦寐以求的愿望,或是拥有孙悟空七十二变的能 力,或是像神笔马良一样想要什么画什么,或是成为人见人爱的国宝 大熊猫,或是变身全能机器人……今天,你可以用编程实现自己愿望! 【题目要求】 请以“假如我是_____”为题,自选主…

Sentinel实战(待完善)

目录 服务雪崩 什么是服务雪崩 服务不可用原因 解决方案 技术选型对比 Sentinel 介绍 优点 核心概念 资源 规则 代码实战 API实现 SentinelResource注解实现 Sentinel控制台 启动控制台服务 java应用接入控制台 微服务接入Sentinel 服务雪崩 什么是服务雪崩…

DETR详解

1. 动机 传统的目标检测任务需要大量的人工先验知识&#xff0c;例如预定义的先验anchor&#xff0c;NMS后处理策略等。这些人工先验知识引入了很多人为因素&#xff0c;且较难处理。如果能够端到端到直接生成目标检测结果&#xff0c;将会使问题变得很优雅。 2. 主要贡献 提…

牛客小白月赛87 A-G 题解 | JorbanS

文章目录 [A - 小苯的石子游戏](https://ac.nowcoder.com/acm/contest/73854/A)[B - 小苯的排序疑惑](https://ac.nowcoder.com/acm/contest/73854/B)[C - 小苯的IDE括号问题&#xff08;easy&#xff09;](https://ac.nowcoder.com/acm/contest/73854/C)[D - 小苯的IDE括号问题…

向爬虫而生---Redis 探究篇3<`Redis事务`和`Sql事务`区别>

前言: 在数据管理和应用开发中&#xff0c;事务的概念至关重要。事务用于组织和管理一系列对数据进行更新或操作的步骤&#xff0c;确保数据的一致性和可靠性。事务能够保证在一组相关操作中的原子性、一致性、隔离性和持久性&#xff0c;从而确保数据库的可靠性。 Redis和My…

idea中maven配置(一次成功,全部细节都有)

写这篇文章的原因是maven的配置很简单&#xff0c;但是也很容易出错&#xff0c;我连配了两台电脑的maven出现了各种小错误&#xff0c;参考了以下两篇博文IDEA配置Maven教程&#xff08;超详细版~)_idea maven配置教程-CSDN博客 一次包会——最新IDEA配置Maven指南&#xff0…

python 基础知识点(蓝桥杯python科目个人复习计划57)

今日复习计划&#xff1a;做题 例题1&#xff1a;笨笨的机器人 问题描述&#xff1a; 肖恩有一个机器人&#xff0c;他能根据输入的指令移动相应的距离。但是这个机器人很笨&#xff0c;他永远分不清往左边还是往右边移动。肖恩也知道这一点&#xff0c;所以他设定这个机器人…

mysql 远程不允许连接 1130 -Host ‘‘ is not allowed to connect to this MySQL server

1、docker 进入mysql 命令 sudo docker exec -it 0c58 /bin/bash 2、连接mysql mysql -u root -ppwd 3、 use mysql; 4、更改表所有root用户都可以连接 update user set host ‘%’ where user‘root’; 5、刷新权限 flush privilege&#xff1b; ok解决&#xff1b;

五大跨平台桌面应用开发框架:Electron、Tauri、Flutter等

hello&#xff0c;我是贝格前端工场&#xff0c;本次介绍跨平台开发的框架&#xff0c;欢迎大家评论、点赞。 一、什么是跨平台桌面应用开发框架 跨平台桌面应用开发框架是一种工具或框架&#xff0c;它允许开发者使用一种统一的代码库或语言来创建能够在多个操作系统上运行的…

3.2日学习打卡----初学FastDFS(二)

3.2日学习打卡 目录: 3.2日学习打卡SpringBoot整合FastDFS实战开发文件上传 FastDFS集成Nginx环境搭建 SpringBoot整合FastDFS 由GitHub大牛tobato在原作者YuQing与yuqih发布的JAVA客户端基础上进行了大量重构工作&#xff0c;并于GitHub上发布了FastDFS-Client1.26.5。 主要特…

代码随想录算法训练营Day33 || leetCode 860.柠檬水找零 || 406.根据身高重建队列 || 452. 用最少数量的箭引爆气球

860.柠檬水找零 贪心的思路就是&#xff0c;先把最没用的钱给找出去。本题中&#xff0c;20元没法花出去&#xff0c;只有10和5能找零&#xff0c;但10只能找零20&#xff0c;而5可以找零10与20&#xff0c;所以就想办法把10先花出去即可。之后按照收入顺序来记录钱数并选择找…

现货大宗商品发售平台搭建须知

在搭建现货大宗商品发售平台时&#xff0c;需要考虑以下关键因素&#xff1a; 目标市场分析&#xff1a;首先要明确你的平台将服务于哪些大宗商品市场&#xff0c;如农产品、金属、能源等。了解这些市场的特点、参与者、交易规则等&#xff0c;有助于你设计出更符合市场需求的…

chromedriver,Chrome驱动的实时更新

发现自己的selenium项目跑不起来了 效验驱动版本 下载链接(可能需要魔法) https://registry.npmmirror.com/binary.html?pathchromedriver/ https://googlechromelabs.github.io/chrome-for-testing/ 找到驱动位置 1. 默认安装路径&#xff1a;Chrome驱动通常会默认安装在系…

Python中常用的库-sklearn的介绍和代码案例

Python中常用的库-sklearn的介绍和代码案例 关注B站查看更多手把手教学&#xff1a; 肆十二-的个人空间-肆十二-个人主页-哔哩哔哩视频 (bilibili.com) 今天我们来一起说下最近python中常用的机器学习库-sklearn。 Scikit-learn是一个基于Python的开源机器学习库&#xff0c;…

详解JavaScript的函数

详解 JavaScript 的函数 函数的语法格式 创建函数/函数声明/函数定义 function 函数名(形参列表) { 函数体 return 返回值; // return 语句可省略 } 函数调用 函数名(实参列表) // 不考虑返回值 返回值 函数名(实参列表) // 考虑返回值 示例代码 //定义的没有参数列表&am…

实验:依赖注入之setter注入

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢AI编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc;️…

【数据结构与算法】整数二分

问题描述 对一个排好序的数组&#xff0c;要求找到大于等于7的最小位置和小于等于7的最大位置 大于等于7的最小位置 易知从某个点开始到最右边的边界都满足条件&#xff0c;我们要找到这个区域的最左边的点。 开始二分&#xff01; left指针指向最左边界&#xff0c;right…