首页 > 数据库 >数据库基础——mysql数据库

数据库基础——mysql数据库

时间:2025-01-20 09:30:24浏览次数:3  
标签:name -- 数据库 基础 str mysql 字符串

一、数据库简介

        数据库:数据库是一个按数据结构来存储和管理数据的计算机软件系统。简单来说,数据库是用来存放数据的。

        常见数据库及端口

mysql(3306):关系型数据库   mssal(1433)   oracle(1521)   

db2(9500)   postgresql(5432)        redis(6379)


二、MySQL数据库

        1.数据库结构

数据库—》》表—》》列(字段)、行(记录)

        2.数据类型


三、mysql查询语句

        1.数据库命令  进入查看数据库:mysql   -u root -p

        select user():返回当前连接到 MySQL 服务器的用户的用户名和主机名

                

        2. 创建数据库:create  database  数据库名       create database EC2501;

展示所有数据库: show databases;

        3.数据库增删改查

选择数据库   Use 数据库名(所有命令只针对该数据库)

创建表

主键:唯一标识符(此字段可区分表内所有记录)

创建数据表:CREATE TABLE 表名(属性名 数据类型 完整性约束条件,属性名 数据类型);

约束条件:

create table list(id int primary key auto_increment,name varchar(20) not null,sex char(2) not null,phone varchar(
11) not null,age tinyint not null);

desc list;          查询表内数据

插入数据:insert into table name(field1,field2…fieldN) Values(value1,value2…valueN);

eg:
insert into list(name,sex,phone,age)Values('AB','m','18523694278',5);

  • 更新数据(update):pdate teble_name set field1=new-value1, field2=new-value2;

SQL查询语句

        Select 属性列表         from 表名和视图列表

                                           [where 条件表达式1]

                                           [group by 属性名1 [having 条件表达式2]]

                                           [order by 属性名2 [asc | desc]]

  [where 条件表达式1] [group by 属性名1 [having 条件表达式2]] [order by 属性名2 [asc | desc]]

where子句常用查询条件:

通配符:%、*、_

集合函数

正则匹配:regexp、rlike

运算符优先级:

mysql函数:

系统函数:

        version()--mysql版本 user()--数据库用户名 database()--数据库名

        @@datadir--数据库路径  @@version_compile_os--操作系统版本

        @@hostname--当前机器的机器名

字符串连接函数:

        concat(str1,str2,…)--没有分隔符地连接字符串

        concat_ws(separator,str1,str1,…)--含有分隔符地连接字符串

        group_concat(str1,str2,…)--连接一个组的所有字符串,并以逗号分隔每一条数据

获取指定长度的函数: left/right(str,length);

        str是要提取子字符串的字符串,length是一个正整数,指定将从左边返回的字符数

substr (str, pos, len):str为列名/字符串;

        pos为起始位置;mysql中的起始位置pos是从1开始的;如果为正数,就表示从正数的位置往下截取字符串(起始坐标从1开始),反之如果起始位置pos为负数,那么 表示就从倒数第几个开始截取;len为截取字符个数/长度

substring(str, pos)

        substring(str, pos, len)

        说明:substring(被截取字段,从第几位开始截取) substring(被截取字段,从第几位开始截取,截取长度)

mid(column_name,start,length)

        column_name   必需。要提取字符的字段

        start 必需。规定开始位置(起始值是 1)

        length     可选。要返回的字符数。如果省略,则 MID() 函数返回剩余文本

if()

if(1,2,3)  1的值为true,则返回2    1的值为false,则返回3

hex

HEX(string)   string-每个字符的输入字符串都将转换为两个十六进制数字。

HEX(N)    N-要转换为十六进制的输入数字

ASCII(str)

    返回字符串str最左面字符的ASCII代码值,如果str是空字符串,返回0,如果str是NULL,返回NULL

Case

    case when 条件 then 1(条件成立返回1)else 0(不成立为0)end;

exp()

        exp(709)  正常

        exp(710)  mysql会报错导致服务器报错

报错函数:updatexml();     extravalue();

四、练习

        1.判断用户名的第四位的ascii码是否为116,是返回1,否则返回0

select case when ascii(substr(user(),select like 116 then 1 else 0 end;
select if (ascii(mid(user(),4,1))=116,1,0);

2.使用sleep()延迟查询时间

Sleep():用于使当前会话休眠指定的秒数

select id,name,age,sex,sleep(5) from list where id < 3 or phone like '%85%';  

   每条记录延迟5秒,3row将延迟15sec

3.sqli         

use security

        1.查询user表中有多少条数据

        2.将users表中的所有记录作为一条记录输出并以‘_’分割每条记录

        3.查询user表中id为1的数据并查询mysql版本是否为8

标签:name,--,数据库,基础,str,mysql,字符串
From: https://blog.csdn.net/BaiHu_0521/article/details/145249412

相关文章

  • 基础DP 做题记录
    LuoguP1192台阶问题Link简要题意:给定台阶数\(n\le1e5\)和一步至多跨越台阶数\(k\le1e2\),初始在\(0\)级,求方案数\(\pmod{1e5+3}\)。思路:设\(f_i\)表示走到第\(i\)级台阶的方案数,题意直接说明了可以从前\(k\)级台阶转移过来,考虑每次在以经处理好的台阶前新加一级......
  • Mysql--实战篇--@Transactional失效场景及避免策略(@Transactional实现原理,失效场景,内
    在Spring框架中,@Transactional注解用于声明式事务管理,能够简化事务的处理逻辑。然而,在某些情况下,@Transactional可能会失效,导致事务无法按预期工作。了解这些失效场景及其原因,可以帮助你更好地管理和调试事务问题。1、@Transactional失效的常见场景(1)、方法非public访问权......
  • Linux基础知识
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录概述一、Linux常用命令1.1文件与目录操作1.2查看文件内容1.3文本内容处理1.4查询操作1.5压缩和解压缩二、VI和VIM的使用2.1概述2.2VI/VIM的基本模式三、用户和组3.1概述3.2用户的增删......
  • 2024秋季学期 电子技术基础期末复习笔记
    电路分析模拟电路......
  • 基础动态规划讲解
    (标题就叫这个吧,我也没什么主意了)动态规划,要给这个这个东西下个定义,确实不太好下,他是一种基于状态来思考问题的算法思想用来表示状态的话,那就是dp,(这么说好抽象),就直接说涉及动态规划的题目怎么处理吧,这个还是有步骤可行的,就按如下步骤操作1.寻找子问题2.找出状态转移方程3.最......
  • CISCO基础
    CISCO基础1、连接状态这张图片中,展示了Cisco的设备集合以及连线集合其中,黄色小箭头为自动连线连接状态:每个小圆点为一个设备的不同端口,圆点颜色代表连接状态,例如,圆点为绿色,则为联通状态。在cisco中有一些不能自动连接的设备,如:路由器(正常连接呈现的颜色为红色,即为关闭......
  • 数据库密码安全修改:保护织梦网站账户安全的黄金法则
    严格权限控制:仅授予最小化权限给真正需要访问数据库的人,避免不必要的暴露风险。定期清理过期账号,防止非法入侵。日志记录完善:开启详细的日志记录功能,记录下每一次登录、退出、增删改查等关键事件。一旦发现问题可以迅速定位原因并采取相应措施。步骤描述备份数据优先......
  • 请问数据库管理平台无法打开,如何排查和解决?
    您好!当您遇到数据库管理平台无法打开的问题时,可能是由于多种原因引起的,包括服务器配置、网络连接、权限设置等。为了帮助您更好地理解和解决这个问题,以下是几个可能的原因及相应的解决方案:检查服务器状态首先,请确认服务器是否正常运行。您可以登录到服务器控制面板(如宝塔面板),查......
  • 如何将MySQL数据库版本升级到5.7并确保网站正常运行?
    在云服务器上将MySQL数据库版本从较低版本升级到5.7是一项需要谨慎操作的任务,以确保网站的正常运行。以下是详细的步骤和注意事项:一、备份现有数据备份数据库:在进行任何升级操作之前,务必对现有数据库进行全面备份。可以使用命令行工具或图形界面工具(如phpMyAdmin)进行备份。......
  • 如何解决WordPress打开网页时出现“建立数据库连接时出错”的问题?
    常见原因数据库配置文件错误:wp-config.php文件中的数据库配置信息不正确。MySQL数据库服务问题:MySQL数据库服务未启动或数据库账号密码错误。网络连接问题:如果使用外部数据库,可能需要检查网络连接和端口配置。解决方法方法一:检查数据库配置文件打开wp-config.php文件:......