検索
ホームページデータベースmysql チュートリアルMySQL学习笔记3索引、存储过程_MySQL

bitsCN.com

MySQL索引 索引分类: 索引两种存储类型:B型树(BTREE)索引和哈希(HASH)索引,其中B型树为系统默认索引方法。MySQL的索引包括普通索引、唯一索引、全文索引、单列索引、多列索引和空间索引。

注意:只有MyISAM类型的数据表支持FULLTEXT全文索引,其他类型的数据表不支持全文索引。当用户在建立全文索引的时候,返回“ERROR 1283 (HY000): Column 'number' cannot be part of FULLTEXT index”的错误,则说明用户操作的当前数据表不支持全文索引,即不为MyISAM类型的数据表。

只有MyISAM类型表支持空间索引。而且,索引字段必须有非空约束。创建索引 在建立数据表时创建索引

语法结构如下:

create table table_name(

属性名 数据类型 [约束条件],

属性名 数据类型 [约束条件],

^……

属性名 数据类型

[UNIQUE | FULLTEXT | SPATIAL ] INDEX }KEY

[别名](属性名1 [(长度)] [ASC | DESC]) 创建多列索引

触发多列索引的条件是用户必须使用索引的第一字段,如果没有用到第一字段,则索引不起任何作用,用户想要优化查询速度,可以应用该类索引形式。在已建立的数据表中创建索引 基本命令结构如下:
CREATE [UNIQUE | FULLTEXT |SPATIAL ] INDEX index_name

ON table_name(属性 [(length)] [ ASC | DESC]); 修改数据表结构添加索引 基本结构如下:

ALTER TABLE table_name ADD [ UNIQUE | FULLTEXT | SPATIAL ] INDEX index_name(属性名[(length)] [ASC | DESC]);注意:

从功能上看,修改数据表结构添加索引与在已存在数据表中建立索引所实现功能大体相同,二者均是在已经建立的数据表中添加或创建新的索引。 删除索引 基本命令如下:

DROP INDEX index_name ON table_name; MySQL存储过程 创建存储过程和存储函数 创建存储过程

基本形式:CREATE PROCEDUER sp_name ([proc_parameter [,...]]) [characteristic ...] routine_body

存储过程调用方法:call 存储过程名;注意:MySQL中默认的语句结束符为分号; 存储过程中的SQL语句需要分号来结束,为了避免冲突,首先,用“DELIMITER // ”将MySQL的结束符设置为//。最后用“DELIMITER;”来将结束符恢复成分号。这与触发器的创建是一样的。创建存储函数

基本形式:CREATE FUNCTION sp_name ([func_parameter[,...]])

RETURNS types

[characteristic ...] routine_body变量的应用

MySQL存储过程中的参数主要有局部参数和会话参数两种,又可被称为局部变量和会话变量。局部变量只在定义该局部变量的begin……end范围内有效,会话变量在整个存储过程范围内均有效。

局部变量以关键字declare声明,后跟变量名和变量类型,例如 declare a int

也可以用关键字default为变量指定默认值,例如declare a int default 10MySQL中的会话变量不必声明即可使用,会话变量在整个过程中有效,会话变量名以字符“@”作为起始字符。为变量赋值 用DECLARE关键字定义变量:DECLARE var_name[,...] type [default value]使用SET关键字为变量赋值:SET var_name=expr[, var_name=expr]...SELETC col_name [ ,...] INTO var_name [, ...] FROM table_name where condition

示例:select tel into customer_tel from studentinfo where name='LeonSK';注意:上述赋值语句必须存在于创建的存储过程中,且需要将赋值语句放置在BEGIN……END之间。若脱离此范围,该变量将不能使用或被赋值。光标的运用

声明光标

光标必须声明在处理程序之前,且声明在变量和条件之后。

语法:DECLARE cursor_name CURSOR FOR select_statement

select 子句中不能包含INTO子句,并且光标只能在存储过程或存储函数中使用。打开光标

语法:OPEN info_of_student使用光标

使用FETCH...INTO语句来读取数据,语法如下:

FETCH cursor_name INTO var_name[, var_name]...关闭光标

语法:CLOSE curso_name

对于以关闭的光标,在其关闭之后则不能使用FETCH来使用光标,光标在使用完毕后一定要关闭。查看存储过程和函数 SHOW STATUS语句

SHOW {PROCEDUER | FUNCTION} STATUS[LIKE 'pattern' ]SHOW CREATE语句

SHOW CREATE { PROCEDUER | FUNCTION } sp_name;SHOW STATUS语句只能查看存储过程或函数所操作的数据库对象,如存储过程或函数的名称、类型、定义者、修改时间等信息,并不能查询存储过程或函数的具体定义。如需要查看详细定义,需要使用SHOW CREATE语句。修改存储过程和函数 语法如下:

ALTER {PROCEDUER | FUNCTION} sp_name [characteristic ...]

characteristic:

{ CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }

| SQL SECURITY { DEFINER | INVOKER }

| COMMENT 'string'

bitsCN.com
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
MySQLの役割:WebアプリケーションのデータベースMySQLの役割:WebアプリケーションのデータベースApr 17, 2025 am 12:23 AM

WebアプリケーションにおけるMySQLの主な役割は、データを保存および管理することです。 1.MYSQLは、ユーザー情報、製品カタログ、トランザクションレコード、その他のデータを効率的に処理します。 2。SQLクエリを介して、開発者はデータベースから情報を抽出して動的なコンテンツを生成できます。 3.MYSQLは、クライアントサーバーモデルに基づいて機能し、許容可能なクエリ速度を確保します。

MySQL:最初のデータベースを構築しますMySQL:最初のデータベースを構築しますApr 17, 2025 am 12:22 AM

MySQLデータベースを構築する手順には次のものがあります。1。データベースとテーブルの作成、2。データの挿入、および3。クエリを実行します。まず、createdAtabaseおよびcreateTableステートメントを使用してデータベースとテーブルを作成し、InsertINTOステートメントを使用してデータを挿入し、最後にSelectステートメントを使用してデータを照会します。

MySQL:データストレージに対する初心者向けのアプローチMySQL:データストレージに対する初心者向けのアプローチApr 17, 2025 am 12:21 AM

MySQLは、使いやすく強力であるため、初心者に適しています。 1.MYSQLはリレーショナルデータベースであり、CRUD操作にSQLを使用します。 2。インストールは簡単で、ルートユーザーのパスワードを構成する必要があります。 3.挿入、更新、削除、および選択してデータ操作を実行します。 4. Orderby、Where and Joinは複雑なクエリに使用できます。 5.デバッグでは、構文をチェックし、説明を使用してクエリを分析する必要があります。 6.最適化の提案には、インデックスの使用、適切なデータ型の選択、優れたプログラミング習慣が含まれます。

MySQLは初心者に優しいですか?学習曲線の評価MySQLは初心者に優しいですか?学習曲線の評価Apr 17, 2025 am 12:19 AM

MySQLは初心者に適しています。1)インストールと構成、2)リッチラーニングリソース、3)直感的なSQL構文、4)強力なツールサポート。それにもかかわらず、初心者はデータベースの設計、クエリの最適化、セキュリティ管理、データのバックアップなどの課題を克服する必要があります。

SQLはプログラミング言語ですか?用語を明確にするSQLはプログラミング言語ですか?用語を明確にするApr 17, 2025 am 12:17 AM

はい、sqlisaprogramginglanguagespecializedfordatamanamanagement.1)それはdeclarative、focusingonwhattoachieveratherthanhow.2)

酸性の特性(原子性、一貫性、分離、耐久性)を説明します。酸性の特性(原子性、一貫性、分離、耐久性)を説明します。Apr 16, 2025 am 12:20 AM

酸性属性には、原子性、一貫性、分離、耐久性が含まれ、データベース設計の基礎です。 1.原子性は、トランザクションが完全に成功するか、完全に失敗することを保証します。 2.一貫性により、データベースがトランザクションの前後に一貫性を保証します。 3.分離により、トランザクションが互いに干渉しないようにします。 4.永続性により、トランザクションの提出後にデータが永久に保存されることが保証されます。

MySQL:データベース管理システムとプログラミング言語MySQL:データベース管理システムとプログラミング言語Apr 16, 2025 am 12:19 AM

MySQLは、データベース管理システム(DBMS)であるだけでなく、プログラミング言語にも密接に関連しています。 1)DBMSとして、MySQLはデータを保存、整理、取得するために使用され、インデックスを最適化するとクエリのパフォーマンスが向上する可能性があります。 2)SQLとPythonに埋め込まれたプログラミング言語とSQLalchemyなどのORMツールを使用すると、操作を簡素化できます。 3)パフォーマンスの最適化には、インデックス、クエリ、キャッシュ、ライブラリ、テーブル分割、およびトランザクション管理が含まれます。

MySQL:SQLコマンドでデータの管理MySQL:SQLコマンドでデータの管理Apr 16, 2025 am 12:19 AM

MySQLはSQLコマンドを使用してデータを管理します。 1.基本コマンドには、select、挿入、更新、削除が含まれます。 2。高度な使用には、参加、サブクエリ、および集計関数が含まれます。 3.一般的なエラーには、構文、ロジック、パフォーマンスの問題が含まれます。 4。最適化のヒントには、インデックスの使用、Select*の回避、制限の使用が含まれます。

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ヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境