検索
ホームページデータベースmysql チュートリアルMysql の基本操作について詳しく学ぶ

1.テーブルのコピー

1.テーブルhelloの構造をテーブルhello3

Mysql の基本操作について詳しく学ぶにコピーします2.テーブルが2つある場合。構造は同じなので、すべての列のデータをコピーする必要があります

mysql> insert into hello3 select * from hello;

b. 2つのテーブルの構造は異なる場合があり、一部の列のデータのみをコピーする必要があります

mysql> insert into hello3 (name,sex,degree) select name,sex,degree from hello;

2.

インデックス

1. create インデックスを作成します (通常のインデックスと一意のインデックスのみを作成できます)
通常のインデックスを作成します: mysql> createindex in_name on hello(name); name 列に in_name という名前のインデックスを作成します。こんにちはテーブルで。

一意のインデックスを作成します: mysql> create uniqueindex un_name on hello(name); hello テーブルの name 列に un_name という名前の一意のインデックスを作成します。 インデックスの表示: mysql> hello からのインデックスの表示; テーブル hello のインデックスを表示します。

インデックスの削除: mysql> hello テーブルの in_name という名前のインデックスを削除します。

2. alter はインデックスを作成します (インデックスを作成する一般的な方法)

通常のインデックスを作成します: mysql> alter table

hello

addindex in_name(

name

); hello テーブルの列 in_name のインデックス。 (通常/一意の) インデックスの削除: mysql> alter table hellodropindex in_name; hello テーブル内の in_name という名前の通常のインデックスを削除します。 自動インクリメントの削除: mysql> alter table hello edit id int unsigned not null; テーブル hello の id カラム (int 型) の自動インクリメント機能を削除します。 主キーインデックスを削除します: mysql> alter table hello drop PRIMARY KEY;

一意のインデックスを作成します: mysql> alter table hello add unique(name); インデックス名。がデフォルトです。

主キーインデックスの作成: mysql> alter table hello add Primary key(id); hello テーブルの id フィールドの主キーインデックスを作成します。

主キーのインデックスを自動インクリメントに設定します: mysql> alter table hellomodify id int unsigned not null auto_increment; hello テーブルの主キー ID 列を自動インクリメントに設定します。

3. ビュー

メインテーブルのデータが変更されると、それに応じてビューも随時変更されます。ビューが依存するテーブルにエラーがある (削除されている) 場合、ビューにもエラーが発生します。

ビューの作成: mysql> create view v_hello as select * from hello where id >5; ビューの作成プロセスを表示: mysql> v_hello; ; ビュー ビュー v_hello の作成プロセス。

IV.

組み込み関数

文字関数

1. CONCAT(str1,str2,....) 文字リンク関数 select concat('A','B' );

2. LCASE(str1)を小文字に変換します mysql> select lcase("MYSQL");

3. UCASE(str1)を大文字に変換します

select UCASE("Mysql");

4. LENGTH (str) strの長さ

mysql> select length('mysql');

5. LTRIM(Str) は先行するスペースを削除します

select LTRIM('mysql');

6. RTRIM(str) バックエンドスペースを削除します

select RTRIM(' mysql ');

7. REPEAT(str,count) 繰り返し回数

mysql> selectrepeat('mysql',2);

8. REPLACE(str, search_str,replcae_str) strのsearch_strをreplac_strに置き換えます

mysql> select REPLACE('mysql','m','M');

9. SUBSTRING(str,postion,length)から取得str の長さの文字の位置

select substring('mysql',1,2); 10. SPACE(count) は count 個のスペースを生成します

select concat(space(3),'mysql) ') ;

数学関数

1. BIN(10 進数): 10 進数を 2 進数に変換します

2. CEILING(number) 切り上げ mysql> 結果: 11

3、FLOOR(number) 向下取整       mysql> select ceiling(10.12);   结果:10

4、MAX(column) 获取 最大列

5、MIN(column) 获取最小列

6、SQRT(num) 开平方

7、RAND() 返回0-1之间的随机数值  

日期函数

1、CURDATE() 返回当前日期格式 yyyy-MM-dd

2、CURTIME()返回档期时间 12:11:56

3、NOW()返回当前时间 2017-05-12 21:12:34

4、UNIX_TIMESTAMP(date) 返回当前date的时间戳

5、FROM_UNIXTIME()返回UNIX时间戳的日期值

6、WEEK(date)返回当前时间date为一年中的第几周

7、YEAR(data)返回当前时间date的年份

8、DATEDIFF(expr1,expr2) 返回expr1与expr2之间的天数

五、预处理语句

无变量:

创建预处理语句:mysql> prepare stmt1 from 'select * from hello where id>5';创建一个名为stmt1的预处理语句

执行预处理语句:mysql> execute stmt1;执行stmt1预处理语句

带变量:

创建带参数的预处理语句:mysql> prepare stmt1 from 'select * from hello where id>?'

设置变量:mysql> set @i=6;

执行预处理语句:mysql> execute stmt2 using @i;

删除预处理语句:mysql> drop prepare stmt2;    #mysql> DEALLOCATE PREPARE stmt2;  

注意:每一次执行完EXECUTE时,养成好习惯,须执行DEALLOCATE PREPARE … 语句,这样可以释放执行中使用的所有数据库资源(如游标)。
不仅如此,如果一个session的预处理语句过多,可能会达到max_prepared_stmt_count的上限值。

六、事务处理

mysql默认事务是自动提交的。在做mysql事务处理时请将数据库或者表的ENGINE 设置为InnoDB

将表的存储引擎设置为INNODB:mysql> alter table hello engine=innodb;

设置mysql为非自动提交:mysql> set autocommit=0;

产生事务:mysql> delete from hello where id>7;

事务回滚:mysql> rollback;

事务提交:mysql> commit;

关于事务中的还原点:

创建一个事务:mysql> insert into hello (sex,degree,name) values(1,12312.32,'HHH');

对该事务设置还原点:mysql> savepoint p1;

回滚到指定的还原点:mysql> rollback to p1; 此时事务恢复到p1,也就是p1之后的事务p2 ,p3..这些还原点将失效。

回滚到原始的还原点:mysql> rollback;

七、存储过程

<!-- 创建存储过程 hello1()-->
CREATE PROCEDURE hello1()
    BEGIN
        SET @i=0;
        WHILE @i<100 DO 
        insert INTO hello (sex,degree,name) VALUES(1,@i,CONCAT(&#39;name&#39;,@i));
        SET @i=@i+1;
        END WHILE;
    end;
<!-- 查看存储-->
SHOW PROCEDURE STATUS;
<!-- 查看hello1()存储过程-->
show CREATE PROCEDURE hello1;
<!-- 执行存储过程-->
CALL hello1;

八、重排auto_increment值

mysql中我们的主键id如果设置为主键自增策略,那我们如何清空表,并且恢复自增列id的值。

方式一:使用truncate table tableName; 该方式在清空表的同时恢复auto_increment 的值。

方式二:

  1、mysql> delete from hello3;  清空表 (该方式效率较低)

  2、mysql> alter table hello3 auto_increment=1; 恢复auto_increment 的起始值为1

以上がMysql の基本操作について詳しく学ぶの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
データ処理と計算にMySQL関数を使用する方法データ処理と計算にMySQL関数を使用する方法Apr 29, 2025 pm 04:21 PM

MySQL関数は、データ処理と計算に使用できます。 1.基本的な使用には、文字列処理、日付計算、数学操作が含まれます。 2。高度な使用法には、複数の関数を組み合わせて複雑な操作を実装することが含まれます。 3.パフォーマンスの最適化では、Where句での機能の使用を回避し、GroupByおよび一時テーブルを使用する必要があります。

MySQLにデータを挿入する効率的な方法MySQLにデータを挿入する効率的な方法Apr 29, 2025 pm 04:18 PM

MySQLでデータを挿入するための効率的な方法には、次のものが含まれます。1。insertInto ...値構文、2。LoadDatainFileコマンドの使用、3。トランザクション処理の使用、4。バッチサイズの調整、5。Insurtignoreまたは挿入の使用...

フィールドをMySQLテーブルに追加および削除する手順フィールドをMySQLテーブルに追加および削除する手順Apr 29, 2025 pm 04:15 PM

MySQLでは、AlterTabletable_nameaddcolumnnew_columnvarchar(255)afterexisting_columnを使用してフィールドを追加し、andtabletable_namedopcolumncolumn_to_dropを使用してフィールドを削除します。フィールドを追加するときは、クエリのパフォーマンスとデータ構造を最適化する場所を指定する必要があります。フィールドを削除する前に、操作が不可逆的であることを確認する必要があります。オンラインDDL、バックアップデータ、テスト環境、および低負荷期間を使用したテーブル構造の変更は、パフォーマンスの最適化とベストプラクティスです。

MySQLクエリの実行計画を分析する方法MySQLクエリの実行計画を分析する方法Apr 29, 2025 pm 04:12 PM

説明コマンドを使用して、MySQLクエリの実行計画を分析します。 1.説明コマンドは、パフォーマンスのボトルネックを見つけるのに役立つクエリの実行計画を表示します。 2。実行計画には、ID、select_type、table、type、baining_keys、key、key_len、ref、行、およびextraなどのフィールドが含まれます。 3。実行計画によると、インデックスを追加し、完全なテーブルスキャンを避け、参加操作の最適化、オーバーレイインデックスの使用により、クエリを最適化できます。

MySQLサブクエリを使用してクエリ効率を向上させる方法MySQLサブクエリを使用してクエリ効率を向上させる方法Apr 29, 2025 pm 04:09 PM

サブクエリは、MySQLクエリの効率を向上させることができます。 1)Subqueryは、データのフィルタリングや集約値の計算など、複雑なクエリロジックを簡素化します。 2)MySQL Optimizerは、サブクエリを操作に参加させてパフォーマンスを向上させることができます。 3)INの代わりに存在することは、複数の行の戻りエラーを回避できます。 4)最適化戦略には、関連するサブ征服の回避、存在の使用、インデックスの最適化、およびサブクエリネスティングの回避が含まれます。

mysqlの文字セットと照合ルールを構成する方法mysqlの文字セットと照合ルールを構成する方法Apr 29, 2025 pm 04:06 PM

MySQLで文字セットと照合を構成する方法は次のとおりです。1。サーバーレベルでの文字セットとコレクションの設定:setNames'utf8 '; setCharacterSetutf8; setCollat​​ion_connection = 'utf8_general_ci'; 2。特定の文字セットと照合を使用するデータベースを作成します:createdatabaseexample_dbcharactersetutf8collat​​eutf8_general_ci; 3.テーブルを作成するときに文字セットとコレクションを指定:createTableExample_table(idint

MySQLをアンインストールし、残留ファイルをクリーンする方法MySQLをアンインストールし、残留ファイルをクリーンする方法Apr 29, 2025 pm 04:03 PM

安全かつ徹底的にMySQLをアンインストールし、すべての残留ファイルをクリーンにするには、次の手順に従ってください。1。MySQLサービスを停止します。 2。MySQLパッケージをアンインストールします。 3.構成ファイルとデータディレクトリのクリーン。 4.アンインストールが徹底していることを確認します。

MySQLのデータベースの名前を変更する方法MySQLのデータベースの名前を変更する方法Apr 29, 2025 pm 04:00 PM

MySQLでデータベースを変更するには、間接的な方法が必要です。手順は次のとおりです。1。新しいデータベースを作成します。 2。mysqldumpを使用して、古いデータベースをエクスポートします。 3.データを新しいデータベースにインポートします。 4.古いデータベースを削除します。

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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SublimeText3 中国語版

SublimeText3 中国語版

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

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール