Heim Datenbank MySQL-Tutorial 我们一起畅谈过的数据库基础_MySQL

我们一起畅谈过的数据库基础_MySQL

May 30, 2016 pm 05:09 PM
基础 数据库

一.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"

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie implementiert die Go-Sprache die Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge der Datenbank? Wie implementiert die Go-Sprache die Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge der Datenbank? Mar 27, 2024 pm 09:39 PM

Die Go-Sprache ist eine effiziente, prägnante und leicht zu erlernende Programmiersprache. Sie wird von Entwicklern aufgrund ihrer Vorteile bei der gleichzeitigen Programmierung und Netzwerkprogrammierung bevorzugt. In der tatsächlichen Entwicklung sind Datenbankoperationen ein unverzichtbarer Bestandteil. In diesem Artikel wird erläutert, wie die Go-Sprache zum Implementieren von Datenbank-Hinzufügungs-, Lösch-, Änderungs- und Abfrageoperationen verwendet wird. In der Go-Sprache verwenden wir normalerweise Bibliotheken von Drittanbietern, um Datenbanken zu betreiben, z. B. häufig verwendete SQL-Pakete, Gorm usw. Hier nehmen wir das SQL-Paket als Beispiel, um vorzustellen, wie die Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge der Datenbank implementiert werden. Angenommen, wir verwenden eine MySQL-Datenbank.

iOS 18 fügt eine neue Albumfunktion „Wiederhergestellt' hinzu, um verlorene oder beschädigte Fotos wiederherzustellen iOS 18 fügt eine neue Albumfunktion „Wiederhergestellt' hinzu, um verlorene oder beschädigte Fotos wiederherzustellen Jul 18, 2024 am 05:48 AM

Apples neueste Versionen der iOS18-, iPadOS18- und macOS Sequoia-Systeme haben der Fotoanwendung eine wichtige Funktion hinzugefügt, die Benutzern dabei helfen soll, aus verschiedenen Gründen verlorene oder beschädigte Fotos und Videos einfach wiederherzustellen. Mit der neuen Funktion wird im Abschnitt „Extras“ der Fotos-App ein Album mit dem Namen „Wiederhergestellt“ eingeführt, das automatisch angezeigt wird, wenn ein Benutzer Bilder oder Videos auf seinem Gerät hat, die nicht Teil seiner Fotobibliothek sind. Das Aufkommen des Albums „Wiederhergestellt“ bietet eine Lösung für Fotos und Videos, die aufgrund einer Datenbankbeschädigung verloren gehen, die Kameraanwendung nicht korrekt in der Fotobibliothek speichert oder eine Drittanbieteranwendung die Fotobibliothek verwaltet. Benutzer benötigen nur wenige einfache Schritte

Wie implementiert Hibernate polymorphe Zuordnung? Wie implementiert Hibernate polymorphe Zuordnung? Apr 17, 2024 pm 12:09 PM

Die polymorphe Hibernate-Zuordnung kann geerbte Klassen der Datenbank zuordnen und bietet die folgenden Zuordnungstypen: Joined-Subclass: Erstellen Sie eine separate Tabelle für die Unterklasse, einschließlich aller Spalten der übergeordneten Klasse. Tabelle pro Klasse: Erstellen Sie eine separate Tabelle für Unterklassen, die nur unterklassenspezifische Spalten enthält. Union-Unterklasse: ähnelt der verbundenen Unterklasse, aber die Tabelle der übergeordneten Klasse vereint alle Spalten der Unterklasse.

Ausführliches Tutorial zum Herstellen einer Datenbankverbindung mit MySQLi in PHP Ausführliches Tutorial zum Herstellen einer Datenbankverbindung mit MySQLi in PHP Jun 04, 2024 pm 01:42 PM

So verwenden Sie MySQLi zum Herstellen einer Datenbankverbindung in PHP: MySQLi-Erweiterung einbinden (require_once) Verbindungsfunktion erstellen (functionconnect_to_db) Verbindungsfunktion aufrufen ($conn=connect_to_db()) Abfrage ausführen ($result=$conn->query()) Schließen Verbindung ( $conn->close())

Umgang mit Datenbankverbindungsfehlern in PHP Umgang mit Datenbankverbindungsfehlern in PHP Jun 05, 2024 pm 02:16 PM

Um Datenbankverbindungsfehler in PHP zu behandeln, können Sie die folgenden Schritte ausführen: Verwenden Sie mysqli_connect_errno(), um den Fehlercode abzurufen. Verwenden Sie mysqli_connect_error(), um die Fehlermeldung abzurufen. Durch die Erfassung und Protokollierung dieser Fehlermeldungen können Datenbankverbindungsprobleme leicht identifiziert und behoben werden, wodurch der reibungslose Betrieb Ihrer Anwendung gewährleistet wird.

Eine ausführliche Analyse, wie HTML die Datenbank liest Eine ausführliche Analyse, wie HTML die Datenbank liest Apr 09, 2024 pm 12:36 PM

HTML kann die Datenbank nicht direkt lesen, dies kann jedoch über JavaScript und AJAX erreicht werden. Zu den Schritten gehören das Herstellen einer Datenbankverbindung, das Senden einer Abfrage, das Verarbeiten der Antwort und das Aktualisieren der Seite. Dieser Artikel bietet ein praktisches Beispiel für die Verwendung von JavaScript, AJAX und PHP zum Lesen von Daten aus einer MySQL-Datenbank und zeigt, wie Abfrageergebnisse dynamisch auf einer HTML-Seite angezeigt werden. In diesem Beispiel wird XMLHttpRequest verwendet, um eine Datenbankverbindung herzustellen, eine Abfrage zu senden und die Antwort zu verarbeiten. Dadurch werden Daten in Seitenelemente gefüllt und die Funktion des HTML-Lesens der Datenbank realisiert.

Tipps und Praktiken zum Umgang mit verstümmelten chinesischen Zeichen in Datenbanken mit PHP Tipps und Praktiken zum Umgang mit verstümmelten chinesischen Zeichen in Datenbanken mit PHP Mar 27, 2024 pm 05:21 PM

PHP ist eine Back-End-Programmiersprache, die in der Website-Entwicklung weit verbreitet ist. Sie verfügt über leistungsstarke Datenbankbetriebsfunktionen und wird häufig zur Interaktion mit Datenbanken wie MySQL verwendet. Aufgrund der Komplexität der Kodierung chinesischer Zeichen treten jedoch häufig Probleme beim Umgang mit verstümmelten chinesischen Zeichen in der Datenbank auf. In diesem Artikel werden die Fähigkeiten und Praktiken von PHP beim Umgang mit chinesischen verstümmelten Zeichen in Datenbanken vorgestellt, einschließlich häufiger Ursachen für verstümmelte Zeichen, Lösungen und spezifischer Codebeispiele. Häufige Gründe für verstümmelte Zeichen sind falsche Einstellungen für den Datenbank-Zeichensatz: Beim Erstellen der Datenbank muss der richtige Zeichensatz ausgewählt werden, z. B. utf8 oder u

Wie verbinde ich mich mit Golang mit einer Remote-Datenbank? Wie verbinde ich mich mit Golang mit einer Remote-Datenbank? Jun 01, 2024 pm 08:31 PM

Über das Datenbank-/SQL-Paket der Go-Standardbibliothek können Sie eine Verbindung zu Remote-Datenbanken wie MySQL, PostgreSQL oder SQLite herstellen: Erstellen Sie eine Verbindungszeichenfolge mit Datenbankverbindungsinformationen. Verwenden Sie die Funktion sql.Open(), um eine Datenbankverbindung zu öffnen. Führen Sie Datenbankoperationen wie SQL-Abfragen und Einfügeoperationen durch. Verwenden Sie „defer“, um die Datenbankverbindung zu schließen und Ressourcen freizugeben.

See all articles