我们一起畅谈过的数据库基础_MySQL
一.T-SQL查询基础
查询机制简介:
数据表在接受查询请求的时候,可以简单理解为”它将逐行判断”,判断条件是否符合查询条件,如果符合查询条件就提取出来,然后把所有被选中的行组织在一起,形成另外一个类似于标的结构,构成查询的结果,通常叫做记录集.由于记录集的结构实际上和表的结构类似,都是由行组成的,因此在记录集上依然可以进行再次查询.
二.使用select语句进行查询
语法:
Select 列名 from 表名
在使用select 查询是还可分为多种情况
注意:在以下的分析中都将采用 Eg:查询student表中的所有列Myschool数据库为例,Myschool数据库中包含了student(学生表),result(成绩表),subject(科目表),grade(年级表)
1.查询所有数据行和列
Select * from student
2.查询部分行和列
Eg:只查询student表中studentno(学生编号)为8888的Phone(学生电话)和Address(学生地址)两列.
分析:此时应使用where条件进行限制,它限制的条件为学生编号只能为8888的.
Select Phone,Address
from student
Where studentno=8888
3在查询中使用列的别名
AS子句可以用来改变结果集中列的名称,也可以为组合或者计算出的列指定名称,还有一种情况是让标题列的信息更易懂
使用别名的方式有三种:
(方案一)
Select Phone as 学生电话, Address as 学生地址
From student
Where sthdentno=8888
(方案二):将Phone和Address合并成一列,
假如这列叫做”学生信息”
Select Phone+Address as 学生信息
From student
(方案三):可以利用”=”的方式进行重新命名列名
Select 学生信息=Phone+Address
From student
4.查询空值
在SQL语句中null代表不知道的意思.
在SQL语句中采用”is null”或者”is not null”来判断是否为空.
Eg如果要查询student表中没有填写email信息的学生.
Select studentname from student
Where email is null
5.在查询中使用常量列
有时候需要将一些常量的默认信息添加到查询输出中,以方便统计或计算.
Eg:查询学生信息的时候,学校名称统一都是”北京XX”,
Select 姓名=studentname,地址=address, ‘北京’as 学校名称
From student
查询的时候输出多了一列”学校名称”,该名称的所有数据都是”北京XX”
6.查询返回限制的行数
场景:
例如,在测试的时候,如果数据库中有上千万条记录,而现在只需要查询前面的前10行数据是否有效就可以了,没有必要查询输出全部的数据,以提高查询速度,
在T-SQL中,限制行数使用TOP关键字来约束,
Eg要查询返回众多学生记录中前五位女生的姓名和地址信息
Select top 5 studentname, address
From student
Where ssex=0 (ssex=0代表性别为女)
还有一种情况是需要从表中按一定的百分比提取记录,这时候需要用到percent关键字来限制
Eg:提取20%的女生数据
Select top 20 percent studentname,address
Ftom student
Where ssex=0
三 查询排序
如果需要按照一定的顺序排列查询语句选中的行,则需要使用order by子句,并且排序可以是升序(asc)或降序(desc),如果不指定asc或desc,结果默认按asc升序排序.
Eg成绩表中的学生成绩按降序排列
Select studentno as 学生编号,studentresult as学生成绩 from result
Order by studentresult desc
四在查询中使用函数
1字符串函数
字符串函数用于对字符串数据进行处理,并返回一个字符串或数字
部分常用的字符串函数
charindex(Str1,str2,(检索起始位置)):用来寻找一个指定的字符串在另一个字符串中的起始位置
--Str1要查询的字符串
--Str2被检索的源字符串
--从Str2的第几个位置开始检索
--如果在Str2中没有找到Str1,则返回0
eg:
select charindex(‘hyj’,‘Myname is hyj’,10)
返回:11
len('字符串'):返回传递给它的字符串长度
select LEN(‘hello‘)
--返回:5
upper('字符串')将字符串内出现的英文全部转换成大写
select upper('hello')
--返回:HELLOW
LTrim('字符串'):清除字符左边的空格
select rtrim(' hello')
--返回:hello
rtrim('字符串'):清除右边的空格
select ('hello ')
--返回:hello
Left(‘字符串‘,返回的字符串长度):从字符串左边返回指定数目的字符
select left ('hello',3)
--返回hel
Right(‘字符串‘,返回的字符串长度):从字符串右边返回指定数目的字符
select right ('hello',3)
返回:llo
Replace(源字符串Str1,被替换的字符串str2,要替换的字符串Str3):替换一个字符串中的字符
select replace('hello','h','H')
--返回:Hello
Stuff(‘字符串‘,起始位置,被删除的字符串的长度,‘要插入的字符串‘):在一个字符串中,从指定位置开始删除指定长度的字符串,并在该位置插入一个新的字符串.
select stuff('hello',2,4,'yj')
--返回:hyj
SubString(‘字符串‘,开始截取的位置,截取长度):在一个字符串中截取指定长度的字符串
select substring('helloworld',5,3)
--返回:owo
日期函数
GetDate():得到当前的系统日期
select GETDATE()
DateADD(按年或月或日添加,增量,时间):将指定的数值添加到指定的日期部分后的日期
select dateadd(mm,4,'01/01/2015')
--返回:05/01/2015
DateDIFF(按年或月或日求差,小时间,大事件):两个日期之间指定日期部分的间隔
select DATEDIFF(mm,‘01/01/2015‘,'05/01/2015')
返回:1
DateName(日期部分参数,日期):日期中指定日期部分的字符串形式(可以返回年,月,日,季度,月份,年的第几天,年的第几周,周几,小时,分钟,秒,毫秒)
select datename(dw,'01/01/2015')
--返回:星期四
DatePart(日期参数,日期):日期中指定日期部分的整数形式
select datepart(day,'04/15/2015')
--返回:15
其中想要返回某一个时间的年或月或日的整数形式可以直接用 year/month/day(日期的方式),如:year(getdate())
year/month/day(日期)只能返回年或月或日,而datepart(日期参数,日期)能返回更多的值
部分常用的数学函数
Rand():返回从0到1之间的随机float值
select RAND()
随机返回1000-9999的整数值
select CONVERT(int,rand()*8999+1000)
Ceiling():天花板,向上:向上取整
select ceiling(1.000001)
--返回:2
floor():地板,向下:向下取整
select FLOOR(1.999999)
--返回:1
power():取数值表达式的幂值
select POWER(5,2)
--返回:25
round():将数值表达式四舍五入为指定精度
select ROUND(43.543,1)
--返回:43.500
SIGN():括号里是正数返回+1,是负数返回-1,是0返回0
select SIGN(-43)
--返回:-1
Sqrt():取平方根
select sqrt(9)
--返回:3
部分常用的系统函数
convert(数值类型(长度),浮点数值)
select CONVERT(nvarchar(5),12345)
--返回:12345
current_user:返回你登陆的用户名
select current_user
--返回:你登陆的用户名
datalength(‘字符串‘):返回用于指定表达式所占内存的的字节数
select DATALENGTH('英雄联盟')
--返回:4
host_name():返回当前用户所登陆的计算机名字
select HOST_NAME()
--返回:你所登陆的计算机名
system_user:返回当前datebase所登陆的用户名称
select SYSTEM_USER
--返回:你当前所登陆的用户名
user_name:从给定的用户ID返回用户名
select USER_NAME()
--返回:从任意数据库中返回"dbo"

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Go 언어는 효율적이고 간결하며 배우기 쉬운 프로그래밍 언어입니다. 동시 프로그래밍과 네트워크 프로그래밍의 장점 때문에 개발자들이 선호합니다. 실제 개발에서 데이터베이스 작업은 필수적인 부분입니다. 이 기사에서는 Go 언어를 사용하여 데이터베이스 추가, 삭제, 수정 및 쿼리 작업을 구현하는 방법을 소개합니다. Go 언어에서는 일반적으로 사용되는 SQL 패키지, Gorm 등과 같은 타사 라이브러리를 사용하여 데이터베이스를 운영합니다. 여기서는 sql 패키지를 예로 들어 데이터베이스의 추가, 삭제, 수정 및 쿼리 작업을 구현하는 방법을 소개합니다. MySQL 데이터베이스를 사용하고 있다고 가정합니다.

Hibernate 다형성 매핑은 상속된 클래스를 데이터베이스에 매핑할 수 있으며 다음 매핑 유형을 제공합니다. Join-subclass: 상위 클래스의 모든 열을 포함하여 하위 클래스에 대한 별도의 테이블을 생성합니다. 클래스별 테이블: 하위 클래스별 열만 포함하는 하위 클래스에 대한 별도의 테이블을 만듭니다. Union-subclass: Joined-subclass와 유사하지만 상위 클래스 테이블이 모든 하위 클래스 열을 통합합니다.

Apple의 최신 iOS18, iPadOS18 및 macOS Sequoia 시스템 릴리스에는 사진 애플리케이션에 중요한 기능이 추가되었습니다. 이 기능은 사용자가 다양한 이유로 손실되거나 손상된 사진과 비디오를 쉽게 복구할 수 있도록 설계되었습니다. 새로운 기능에는 사진 앱의 도구 섹션에 '복구됨'이라는 앨범이 도입되었습니다. 이 앨범은 사용자가 기기에 사진 라이브러리에 포함되지 않은 사진이나 비디오를 가지고 있을 때 자동으로 나타납니다. "복구된" 앨범의 출현은 데이터베이스 손상으로 인해 손실된 사진과 비디오, 사진 라이브러리에 올바르게 저장되지 않은 카메라 응용 프로그램 또는 사진 라이브러리를 관리하는 타사 응용 프로그램에 대한 솔루션을 제공합니다. 사용자는 몇 가지 간단한 단계만 거치면 됩니다.

HTML은 데이터베이스를 직접 읽을 수 없지만 JavaScript 및 AJAX를 통해 읽을 수 있습니다. 단계에는 데이터베이스 연결 설정, 쿼리 보내기, 응답 처리 및 페이지 업데이트가 포함됩니다. 이 기사에서는 JavaScript, AJAX 및 PHP를 사용하여 MySQL 데이터베이스에서 데이터를 읽는 실제 예제를 제공하고 쿼리 결과를 HTML 페이지에 동적으로 표시하는 방법을 보여줍니다. 이 예제에서는 XMLHttpRequest를 사용하여 데이터베이스 연결을 설정하고 쿼리를 보내고 응답을 처리함으로써 페이지 요소에 데이터를 채우고 데이터베이스를 읽는 HTML 기능을 실현합니다.

MySQLi를 사용하여 PHP에서 데이터베이스 연결을 설정하는 방법: MySQLi 확장 포함(require_once) 연결 함수 생성(functionconnect_to_db) 연결 함수 호출($conn=connect_to_db()) 쿼리 실행($result=$conn->query()) 닫기 연결( $conn->close())

PHP에서 데이터베이스 연결 오류를 처리하려면 다음 단계를 사용할 수 있습니다. mysqli_connect_errno()를 사용하여 오류 코드를 얻습니다. 오류 메시지를 얻으려면 mysqli_connect_error()를 사용하십시오. 이러한 오류 메시지를 캡처하고 기록하면 데이터베이스 연결 문제를 쉽게 식별하고 해결할 수 있어 애플리케이션이 원활하게 실행될 수 있습니다.

MySQL 데이터베이스 관리 시스템의 기본 원리 분석 MySQL은 데이터 저장 및 관리를 위해 구조화된 쿼리 언어(SQL)를 사용하는 일반적으로 사용되는 관계형 데이터베이스 관리 시스템입니다. 이 글에서는 데이터베이스 생성, 데이터 테이블 설계, 데이터 추가, 삭제, 수정 및 쿼리 등을 포함한 MySQL 데이터베이스 관리 시스템의 기본 원리를 소개하고 구체적인 코드 예제를 제공합니다. 1. 데이터베이스 생성 MySQL에서는 먼저 데이터를 저장할 데이터베이스 인스턴스를 생성해야 합니다. 다음 코드는 "my

PHP는 웹사이트 개발에 널리 사용되는 백엔드 프로그래밍 언어로, 강력한 데이터베이스 운영 기능을 갖추고 있으며 MySQL과 같은 데이터베이스와 상호 작용하는 데 자주 사용됩니다. 그러나 한자 인코딩의 복잡성으로 인해 데이터베이스에서 잘못된 한자를 처리할 때 문제가 자주 발생합니다. 이 기사에서는 잘못된 문자의 일반적인 원인, 솔루션 및 특정 코드 예제를 포함하여 데이터베이스에서 중국어 잘못된 문자를 처리하기 위한 PHP의 기술과 사례를 소개합니다. 문자가 왜곡되는 일반적인 이유는 잘못된 데이터베이스 문자 집합 설정 때문입니다. 데이터베이스를 생성할 때 utf8 또는 u와 같은 올바른 문자 집합을 선택해야 합니다.
