찾다
데이터 베이스MySQL 튜토리얼MySQL, 시스템 정보 기능 도입
MySQL, 시스템 정보 기능 도입Mar 04, 2021 am 09:17 AM
mysql시스템 정보

MySQL, 시스템 정보 기능 도입

시스템 정보 함수

(1) MySQL 버전 번호, 연결 번호, 데이터베이스 이름을 가져오는 함수
(2) 사용자 이름을 가져오는 함수
(3) MySQL의 문자 집합 및 정렬 방법을 가져오는 함수 string
( 4) 자동으로 생성된 마지막 ID 값을 가져오는 함수

(관련 무료 학습 권장 사항: mysql 비디오 튜토리얼 )

(1), MySQL 버전 번호, 연결 수 및 데이터베이스 이름을 가져오는 함수

1.version( )

  • version()은 MySQL 서버 버전을 나타내는 문자열을 반환합니다. 이 문자열은 utf8 문자 집합을 사용합니다.

【예】현재 MySQL 버전 번호를 보려면 SQL 문은 다음과 같습니다.

mysql> select version();+-----------+| version() |+-----------+| 8.0.16    |+-----------+1 row in set (0.05 sec)

2.connection_id()

  • connection_id()는 MySQL 서버에 대한 현재 연결 수를 반환합니다. 자신의 고유 ID.

【예】현재 사용자의 연결 수를 보려면 SQL 문은 다음과 같습니다.

mysql> select connection_id();+-----------------+| connection_id() |+-----------------+|              18 |+-----------------+1 row in set (0.05 sec)

3.show processlist 및 show full processlist

  • processlist 명령의 출력은 어떤 스레드가 실행 중인지 보여줍니다. 현재 연결 수를 모두 볼 수 있을 뿐만 아니라 현재 연결 상태를 볼 수 있어 문제가 있는 쿼리 문 등을 식별하는 데 도움이 됩니다.
  • 루트 계정이 있으면 모든 사용자의 현재 연결을 볼 수 있습니다. 다른 일반 계정이 있으면 자신이 차지하는 연결만 볼 수 있습니다. show processlist는 처음 100개의 항목만 나열합니다. 모든 항목을 나열하려면 show full processlist 명령을 사용하십시오.

[예] showprocesslist 명령을 사용하여 현재 사용자의 연결 정보를 출력합니다. SQL 문은 다음과 같습니다.

mysql> show processlist;+----+-----------------+-----------------+---------+---------+--------+------------------------+------------------+| Id | User            | Host            | db      | Command | Time   | State                  | Info             |+----+-----------------+-----------------+---------+---------+--------+------------------------+------------------+|  4 | event_scheduler | localhost       | NULL    | Daemon  | 381487 | Waiting on empty queue | NULL             || 18 | root            | localhost:60272 | company | Query   |      0 | starting               | show processlist |+----+-----------------+-----------------+---------+---------+--------+------------------------+------------------+2 rows in set (0.05 sec)

각 열의 의미:

Hostdb CommandTimeStateInfo4. 데이터베이스() 및 스키마()
column meaning
id 열 MySQL에 대한 사용자 로그인 시스템에서 "연결 ID"
User 를 할당하면 현재 사용자가 루트가 아닌 경우 사용자 권한 내에서 MySQL 문을 표시합니다.
는 이 명령문이 발행된 IP와 포트를 표시하며, 문제가 있는 명령문의 사용자를 추적하는 데 사용할 수 있습니다.
이 프로세스가 현재 어떤 데이터베이스에 연결되어 있는지 표시
현재 연결의 실행 명령을 표시합니다. 일반적으로 값은 sleep(sleep)입니다. ), Query, Connect
이 상태의 지속 시간을 초 단위로 표시합니다.
상태를 표시합니다. 현재 연결을 사용하는 SQL 문 중 상태는 실행 중인 문일 뿐입니다.
의 특정 상태는 이 SQL 문을 표시하며 이는 문제 문을 판단하는 데 중요한 문입니다.
[예] 현재 사용 중인 데이터베이스, SQL 문을 확인합니다.

mysql> select database(),schema();+------------+----------+| database() | schema() |+------------+----------+| company    | company  |+------------+----------+1 row in set (0.00 sec)

(2), 사용자 이름을 가져오는 함수
user(), current_user(), system_user() 및 session_user() 이 함수는 현재 MySQL 서버에서 확인한 사용자 이름과 호스트 이름 조합을 반환합니다. 이 값은 현재 로그인된 사용자의 접근 권한을 결정하는 MySQL 계정에 해당합니다.
  • [예제] 현재 로그인된 사용자의 이름을 가져옵니다. SQL 문은 다음과 같습니다.

반환된 결과 값은 현재 계정이 서버에 연결되고 연결된 클라이언트 호스트가 루트인 경우의 사용자 이름을 나타냅니다. 현재 로그인된 사용자 이름과 localhost는 로그인 호스트 이름입니다.
  • mysql> select user(),current_user,system_user();+----------------+----------------+----------------+| user()         | current_user   | system_user()  |+----------------+----------------+----------------+| root@localhost | root@localhost | root@localhost |+----------------+----------------+----------------+1 row in set (0.05 sec)
(3), 문자열의 문자 집합 및 정렬 방법을 가져오는 함수
1.charset(str)

[예] charset() 함수를 사용하여 문자열을 반환합니다. 문자 집합, SQL 문은 다음과 같습니다. charset(str)

【例】使用charset()函数返回字符串使用的字符集,SQL语句如下:

mysql> select charset('abc'),
    -> charset(convert('abc' USING latin1 ) ),
    -> charset(version());+----------------+----------------------------------------+--------------------+| charset('abc') | charset(convert('abc' USING latin1 ) ) | charset(version()) |+----------------+----------------------------------------+--------------------+| gbk            | latin1                                 | utf8               |+----------------+----------------------------------------+--------------------+1 row in set (0.00 sec)

2.collation(str)

【例】使用collation()函数返回字符串排列方式,SQL语句如下:

mysql> select collation('abc'),collation(convert('abc' USING utf8 ));+------------------+---------------------------------------+| collation('abc') | collation(convert('abc' USING utf8 )) |+------------------+---------------------------------------+| gbk_chinese_ci   | utf8_general_ci                       |+------------------+---------------------------------------+1 row in set, 1 warning (0.05 sec)

(4)、获取最后一个自动生成的ID值的函数

【例】使用select last_insetr_id查看最后一个自动生成的列值,执行过程如下:

①一次插入一条记录
首先创建表worker,其id字段带有auto_increment约束,SQL语句如下:

mysql> create table worker    -> (
    -> id int auto_increment not null primary key,
    -> Name varchar(30)
    -> );Query OK, 0 rows affected (0.21 sec)

分别单独向表worker中插入两条记录:

mysql> insert into worker values(null,'jimy');Query OK, 1 row affected (0.07 sec)mysql> insert into worker values(null,'Tom');Query OK, 1 row affected (0.05 sec)mysql> select * from worker;+----+------+| id | Name |+----+------+|  1 | jimy ||  2 | Tom  |+----+------+2 rows in set (0.00 sec)

查看已经插入的数据,发现最后一条插入的记录的id字段值为2,使用last_insert_id()查看最后自动生成的id值:

mysql> select last_insert_id();+------------------+| last_insert_id() |+------------------+|                2 |+------------------+1 row in set (0.05 sec)

可以看到,一次插入一条记录时,返回值为最后一条插入记录的id值。

②一次同时插入多条记录
向表中插入多条记录:

mysql> insert into worker values
    -> (null,'Kevin'),
    -> (null,'Michal'),
    -> (null,'NICK');Query OK, 3 rows affected (0.05 sec)Records: 3  Duplicates: 0  Warnings: 0mysql> SELECT * FROM WORKER;+----+--------+| id | Name   |+----+--------+|  1 | jimy   ||  2 | Tom    ||  3 | Kevin  ||  4 | Michal ||  5 | NICK   |+----+--------+5 rows in set (0.00 sec)

使用last_insert_id查看最后自动生成的id值:

mysql> SELECT LAST_INSERT_ID();+------------------+| LAST_INSERT_ID() |+------------------+|                3 |+------------------+1 row in set (0.00 sec)

使用一条insert语句插入多个行时,last_insert_id()只返回插入的第一行数据时产生的值,在这里为插入第3条记录。之所以这样是因为这使依靠其他服务器复制同样的insert语句变得简单。

提示:

  • last_insert_id是与table无关的,先向表a插入数据,再向表b插入数据,last_insert_idrrreee
  • 2.collation(str)
[예] 문자열 배열을 반환하려면 collation() 함수를 사용하세요. SQL 문은 다음과 같습니다.

rrreee

(4), 마지막 자동 생성된 ID 값을 가져오는 함수

[예제] select last_insetr_id를 사용하여 마지막 자동 생성된 열 값을 확인하는 방법은 다음과 같습니다.
🎜①한 번에 하나의 레코드를 삽입합니다🎜 먼저 id 필드에 auto_increment 제약 조건이 있는 테이블 워커를 만듭니다. SQL 문은 다음과 같습니다. 🎜rrreee🎜테이블 워커에 두 개의 레코드를 별도로 삽입합니다. 🎜rrreee🎜삽입된 데이터를 보고 마지막으로 삽입된 레코드의 id 필드 값이 2임을 확인합니다. last_insert_id()를 사용하여 마지막으로 자동 생성된 id 값을 확인합니다. 🎜rrreee🎜한 번에 하나의 레코드를 삽입할 때 반환 값이 마지막으로 삽입된 레코드의 ID 값입니다. last_insert_id()는 데이터의 첫 번째 행이 삽입될 때 생성된 값만 반환합니다. 여기서는 세 번째 레코드가 삽입됩니다. 그 이유는 다른 서버에 의존하여 동일한 insert 문을 복제하기가 쉽기 때문입니다. 🎜🎜팁: 🎜🎜🎜last_insert_id는 테이블 a에 먼저 데이터를 삽입한 다음 테이블 b에 데이터를 삽입합니다. . 🎜🎜🎜🎜관련 무료 학습 권장 사항: 🎜mysql 데이터베이스🎜(동영상)🎜🎜

위 내용은 MySQL, 시스템 정보 기능 도입의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 CSDN에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
图文详解mysql架构原理图文详解mysql架构原理May 17, 2022 pm 05:54 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

mysql的msi与zip版本有什么区别mysql的msi与zip版本有什么区别May 16, 2022 pm 04:33 PM

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

mysql怎么去掉第一个字符mysql怎么去掉第一个字符May 19, 2022 am 10:21 AM

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

mysql怎么替换换行符mysql怎么替换换行符Apr 18, 2022 pm 03:14 PM

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

MySQL复制技术之异步复制和半同步复制MySQL复制技术之异步复制和半同步复制Apr 25, 2022 pm 07:21 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

mysql怎么将varchar转换为int类型mysql怎么将varchar转换为int类型May 12, 2022 pm 04:51 PM

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

mysql怎么判断是否是数字类型mysql怎么判断是否是数字类型May 16, 2022 am 10:09 AM

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

mysql怎么删除unique keymysql怎么删除unique keyMay 12, 2022 pm 03:01 PM

在mysql中,可利用“ALTER TABLE 表名 DROP INDEX unique key名”语句来删除unique key;ALTER TABLE语句用于对数据进行添加、删除或修改操作,DROP INDEX语句用于表示删除约束操作。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.