ホームページ  >  記事  >  データベース  >  MySQL の基本的な一般的なコマンドの詳細な紹介

MySQL の基本的な一般的なコマンドの詳細な紹介

WBOY
WBOY転載
2021-12-23 18:37:142853ブラウズ

この記事では、MySQL の基本的なコマンドをまとめています。データベースへの接続方法やパスワードの変更方法に加えて、よく使われるコマンドもいくつか紹介していますので、ご参考になれば幸いです。

MySQL の基本的な一般的なコマンドの詳細な紹介

#1. MySQL に接続します

##形式: mysql -h ホストアドレス -u ユーザー名 -p ユーザーパスワード

#1. このマシン上の MySQ に接続します:

#まず、cmd ウィンドウを開き、mysql -uroot -p と入力し、スペースを入れて MySQL コンソールに入ります。MySQL プロンプトは、mysql> です。
mysql -uroot -p /*如果刚安装好MySQL,root是没有密码的*/

##2 、リモート ホスト上の MySQL に接続します:

## リモート ホストの IP が 192.168.206.100 であると仮定します。ユーザー名はroot、パスワードは12345678です。
#
mysql> mysql -h192.168.206.100 -uroot -p12345678; /*u与root可以不加空格*/
#3. MySQL コマンドを終了します: exit または quit (Enter):
mysql> exit/quit;

2. MySQL -- パスワードの変更

#形式:

mysqladmin -u ユーザー名 - p 古いパスワード パスワード 新しいパスワード

1, root パスワードが空の場合は、root パスワードを設定します:

mysql> mysqladmin -uroot newpassword;   -- 因为开始时root没有密码,所以-p旧密码 可以省略
2. sqladmin コマンドを使用してパスワードを変更します :

mysql> mysqladmin -uroot -p123456 password 12345678;
3. set password コマンドを使用してパスワードを変更します:

mysql> set password for 用户名@localhost = password('新密码');
4. root パスワードを忘れた場合:

      ①关闭正在运行的MySQL服务。
      ②打开DOS窗口,转到mysql\bin目录。
      ③输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
      ④再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),输入mysql回车,如果成功,将出现MySQL提示符 >。
      ⑤连接权限数据库: use mysql;
      ⑥改密码:update user set password=password("新密码") where user="root";(别忘了最后加分号) 。
      ⑦刷新权限(必须步骤):flush privileges; 。
      ⑧退出mysql  quit;
mysqld --skip-grant-tables   
mysql> use mysql;   --连接权限数据库
mysql> update user set password=password("新密码") where user="root";   -- 改密码
mysql> flush privileges;    -- 刷新权限
mysql> quit;    -- 退出mysql

三、MySQL--常用命令

1、创建数据库(Create)

mysql> create database db_name;  -- 创建数据库
mysql> show databases;           -- 显示所有的数据库
mysql> drop database db_name;    -- 删除数据库
mysql> use db_name;              -- 选择数据库
mysql> create table tb_name (字段名 varchar(20), 字段名 char(1));   -- 创建数据表模板
mysql> show tables;              -- 显示数据表
mysql> desc tb_name;            -- 显示表结构
mysql> drop table tb_name;      -- 删除表

    例如:

/*创建学生表*/
create table Student(
     Sno char(10) primary key,
     Sname char(20) unique,
     Ssex char(2),
     Sage smallint,
     Sdept char(20)
);

2、插入数据(Insert)

     insert into 语句用于向表格中插入新的行:
/*第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:*/
mysql> insert into tb_name values (value1,value2,value3,...);
/*第二种形式需要指定列名及被插入的值:*/
mysql> insert into tb_name (column1,column2,column3,...) values (value1,value2,value3,...);

     例如:

/*插入数据*/

mysql> insert into Student values ( 20180001,张三,男,20,CS);

mysql> insert into Student values ( 20180002,李四,男,19,CS);

mysql> insert into Student (Sno,Sname,Ssex,Sage,Sdept) values ( 20180003,王五,男,18,MA);

mysql> insert into Student (Sno,Sname,Ssex,Sage,Sdept) values ( 20180004,赵六,男,20,IS);

3、查询数据(Select)

select ステートメントは、データベース内のテーブルとビューに関する情報を表示するだけでなく、SQL Server システム情報を表示し、データ テーブルをコピーおよび作成することもできます。そのクエリ機能は強力であり、SQL 言語の魂のステートメントであり、SQL で最も頻繁に使用されるステートメントです。
#基本的な select ステートメント:
## 基本的な select ステートメントは分解できます。は 3 つの部分に分かれています: どのデータを検索するか (select)、どこから検索するか (from)、そして何が検索条件 (where)。 selectステートメントの一般的な形式は次のとおりです。



## [where<条件 & gt;]
[グループ化 & lt; グループ式 & gt & gt by <ソート式>[ASC|DESC]]


(1)指定された列をクエリします

##1. テーブル内のすべての列をクエリします ## select ステートメントで指定された列の位置に * 記号が使用されている場合、クエリ テーブルのすべての列を意味します。

テンプレート:
select * from
tb_name;

2. テーブル 内の指定された列をクエリします。

複数の列をクエリする場合は、列名をカンマで区切る必要があります。
テンプレート: select tb_name.<文字フィールド>,<文字タイプフィールド> ...from tb_name;

クエリ結果の列ヘッダーの指定 ## 列ヘッダー (列エイリアスとも呼ばれます) を指定すると、結果の出力が容易になります。


## 列タイトルを指定する場合、列名の後に AS 句を使用できます。また、次の句も使用できます。フォームは列ヘッダーを指定します。
# AS 句の形式は次のとおりです: 列名または計算式 [AS] 列タイトル
## テンプレート
:
列ヘッダー 1 として <文字フィールド> を選択します< ;文字フィールド> 列ヘッダー 2 として、 列ヘッダー 3 として from bt_name;

##4. クエリ計算列 (つまり、式の値)

select を使用して列をクエリすると、列の元の値を結果として直接使用できるだけでなく、列の値の計算値をクエリ結果として使用することもできます。つまり、select 句は次の値をクエリできます。 ,式は、列名、定数、および算術演算子で構成できます。

クエリ結果の計算列に「列名なし」と表示されます。通常、計算列に列タイトルを追加する必要があります。
# これ: 式で使用できる式には、plus、reduction-、multiplied*、excel/、および extra%
が含まれます。
##

## テンプレート<文字フィールド>を選択<文字フィールド>、列タイトル = <文字フィールド> * n from tb_name;

#(2) 行の選択: クエリの結果としてテーブル内の一部またはすべての行を選択します

形式: select [all|distinct] [top n[percent]]<ターゲット列式リスト> テーブル名から

#1. クエリ結果の削除 # の重複行

# リレーショナル データベースの場合、テーブル内の各行は異なっていなければなりません (つまり、重複する行があってはなりません)。ただし、テーブルのクエリ時に特定の列のみを選択すると、クエリ結果に重複した行が表示される場合があります。

# select ステートメントで unique キーワードを使用して、結果セット内の重複行を削除します。

テンプレート:
##tb_name から個別の [,,...] を選択します ;
# 返される行数

## クエリ結果で返される行数を制限するには、先頭のオプションを使用します。つまり、指定された数のレコードを返します。 これは次のとおりです: n は正の整数で、クエリ結果セットの最初の n 行が返されることを意味します。キーワードにパーセント キーが付いている場合は、次のことを意味します。結果セットの先頭の n% 行が返されます。


#:
cleect top n from tb_name;
/*クエリトップn データ*/ テンプレートtb_name から上位 n パーセントを選択; /* クエリを実行します最初の n% のデータ tb_name*/

#(3) 条件を満たす行をクエリする: where 句を使用して条件付きクエリを実装します。

##は、Where句を介して実装されています。
形式は次のとおりです: select [all|distinct] [top n[percent]]<ターゲット列式リスト> from table name where & lt; 条件 & gt;;
:: クエリ条件では、次のトランスポートまたは式を使用できます:
#オペレータの識別 、! & Lt;

... ... ... ... ... ... ... ... b ... ... ...
#使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用する 使用するthrough through through ‐ through ‐ ‐‐ ‐ ‐ to,

# 1. 比較演算子を使用します:
# テンプレート
select * from tb_name
where <文字フィールド> >= n ;

# 2. 範囲指定:

## 指定範囲には 2 つのキーワードがあります。 1:...との間、そして...との間ではない。
## 形式は次のとおりです: select * from tb_name where [not] between ;
##は、より高い値になるために。
3. 列挙型を使用します:

値のセットを指定するには、in キーワードを使用します。すべての可能な値がセットにリストされます。式の値がセット内のいずれかの要素と一致する場合は true が返され、それ以外の場合は false が返されます。

テンプレート

:select * from tb_name where <文字フィールド> [not] in (値 1, 値 2,..., 値 n );
#4.あいまいクエリにはワイルドカードを使用します:

# like 句を使用すると、文字列に対してあいまい一致クエリを実行できます。like 句は論理値 (true または false) を返します。 like 句の形式:

select * from tb_name where [not] like ;

意味: 指定されたフィールド値が一致する文字列と一致するレコードを検索します。通常、一致文字列にはワイルドカード文字 % および _ (アンダースコア) が含まれます。
なぜなら、 %: は任意の長さの文字列 (0 を含む) を表します

5. null を使用したクエリ

## is null キーワードを使用します。 not が使用されていない場合、式の値が null の場合は true が返され、それ以外の場合は false が返されます。not が使用されている場合は、結果はその逆になります。

テンプレート:select * from tb_name where
e is [not] null;# ##################################

# 6. 複数条件クエリ: 論理演算子を使用します








# (および: 両方の条件が満たされる必要がある) および or (または: いずれかの条件が満たされる) を使用して、複数のクエリ条件を結合できます。 and は or よりも優先順位が高くなりますが、括弧を使用すると優先順位を変更できます。
テンプレート
:
select * from tb_name where
e = 'volues' および n;


##(4) クエリ結果の並べ替え

### ### order by 句を使用すると、1 つ以上のフィールドの値 (または式の値) に従ってクエリ結果を昇順 (ASC) または降順 (DESC) に並べることができます。デフォルトは昇順です。 。 ######### 形式: ######order by {sortexpression[ASC|DESC]}[,...n]; ######### ここで: 並べ替え式式には、単一のフィールド、フィールド、関数、定数などで構成される式、または正の整数を指定できます。 ######### テンプレート: ######select * from tb_name ######order by###### <ソート式> <ソート方法>;# ### ###############(5) 統計関数を使用する: 集合関数、集計関数とも呼ばれます################# ##テーブルを取得するときは、結果を計算したりカウントしたりする必要がよくありますが、T-SQL には、取得機能を強化するためにいくつかの統計関数 (集合関数または集計関数とも呼ばれます) が用意されています。統計関数はテーブル内のデータを計算するために使用され、一連のデータを計算して単一の値を返すために使用されます。 ######### ############### 関数 ### ####### 機能 ####### ## AVG で平均を見つけます########## カウンタ、レコード数を求め、INT 型整数に戻ります ######### Max 最大値を求めます ######### min Value# ######## 合計##############

## 1. Sum and AVG

機能: 指定された数式を求めます。または平均。
テンプレート: select avg() を平均として、sum() を tb_name の合計数として選択 where <文字フィールド> ='string';

2. 最大値と最小値

関数: 指定された式の最大値または最小値を検索します。 テンプレート:
最大値として max()、最小値として min() を選択 from tb_name;

#3. カウント

この関数には、count(*) と count([all]|[distinct] フィールド名) の 2 つの形式があります。エラーを避けるために、通常は count(*) を使用してレコード数をクエリします。複数の値がある場合は、count(個別のフィールド名) を使用します。

##(1).count(*):
).count([all]|[distinct] フィールド名) 関数:指定されたフィールド値が空ではないレコードの数をカウントします。フィールドのデータ型には、text、image、ntext、uniqueidentifier 以外の任意の型を指定できます。

テンプレート:
select count() as total number from tb_name;
##(6) クエリ結果のグループ化

## group by 句は、クエリ結果テーブルを特定の列または列ごとにグループ化するために使用します。複数の列値がグループ化され、列値が等しいものは 1 つのグループにグループ化され、グループごとに 1 つの結果が計算されます。この句は、グループ統計を実行するために統計関数と一緒によく使用されます。
形式は次のとおりです: group by group field[,...n][having ];

#

# 1. 文ごとにグループ化を使用した後
## 選択リストには次のもののみを含めることができます。 グループ グループ化フィールドby 句で指定された統計関数。

2. Have
## という文の使用法 Haveing Celestial Celestial Celestial 句は、グループ化された結果をフィルタリングするために一緒に使用されます (フィルタ条件には統計関数が含まれることがよくあります)。
not not not being thestatic function available? 節; 条件に統計関数が含まれる場合は、having 節のみを使用できます。
## テンプレート:
select ,count(*) as columns header from tb_name where ='String' group by ;
##4. データの変更 (更新)
Update ステートメントは、テーブル内のデータを変更するために使用されます。

# 形式: update tb_name set 列名 = 新しい値 (列名 = 特定の値);


##5.データの削除(削除)

##1 行削除
## 形式: delete from tb_name (列名 = 特定の値);
すべての行を削除
## 以下の行をすべて削除します。これは、テーブルの構造、属性、インデックスが完了したことを意味します。
## 形式: delete * tb_name から、または tb_name から削除;##4. MySQL -- alter command

# alter add コマンドは、テーブルにフィールドを追加するために使用されます。

alter add
コマンド形式: alter table
テーブル名 add
フィールド その他; ## と入力します。
たとえば、フィールド passtest## がテーブル MyClass
# に追加されます。 、型は int(4)
、デフォルト値は 0:
##

mysql> alter table MyClass add passtest int(4) default '0';
 添加两个字段  
mysql> alter table Person add age int,add address varchar(11);
 删除两个字段
mysql> alter table Person drop column age,drop column address;
 修改字段的注释
mysql> alter table `student` modify column `id` comment '学号';
 1) 加索引
      mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);

 mysql> alter table employee add index emp_name (name);
 2) 加主关键字的索引
      mysql> alter table 表名 add primary key (字段名);

mysql> alter table employee add primary key(id);
 3) 加唯一限制条件的索引
      mysql> alter table 表名 add unique 索引名 (字段名);

 mysql> alter table employee add unique emp_name2(cardnumber);
 4) 删除某个索引
      mysql> alter table 表名 drop index 索引名;

mysql>alter table employee drop index emp_name;
 5) 增加字段
mysql> ALTER TABLE table_name ADD field_name field_type;
 6) 修改原字段名称及类型
mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
 7) 删除字段
MySQL ALTER TABLE table_name DROP field_name;

五、MySQL -- 应用

学生-课程数据库

 学生表:Student(Sno,Sname,Ssex,Sage,Sdept)
 课程表:Course(Cno,Cname,Cpno,Ccredit)
 学生选课表:SC(SnoCno,Grade)
 关系的主码加下划线表示。各个表中的数据示例如图所示:

Student表

学号

Sno

姓名

Sname

性别

Ssex

年龄

Sage

所在系

Sdept

20180001 张三 20 CS
20180002 李四 19 CS
20180003 王五 18 MA
20180004 赵六 20 IS
Course表

课程号

Cno

课程名

Cname

先修课

Cpno

学分

Ccredit

1 数据库 5 4
2 数学   2
3 信息系统 1 4
4 操作系统 6 3
5 数据结构 7 4
6 数据处理   2
7 PASCAL语言 6 4
SC表

学号

Sno

课程号

Cno

成绩

Grade

20180001

1 92
20180001 2 85
20180001 3 88
20180002 2 90
20180002 3 80

 建立一个“学生”表Student:

create table Student(
  Sno char(9) peimary key, /*列级完整性约束条件,Sno是主码*/
  Sname char(20) unique, /* Sname取唯一值*/
  Ssex char(2),
  Sage smallint,
  Sdept char(20)
);
 建立一个“课程”表Course:
create table Course(
  Sno char(4) primary key, /*列级完整性约束条件,Cname不能取空值*/
  Sname char(40) not null, /*Cpno的含义是先修课*/
  Cpno char(4)
  Ccredit smallint,
  foreign key (Cpnoo) references Course(Cno) /*表级完整性约束条件,Cpno是外码,被参照表是Course,被参照列是Cno*/
);
 建立学生选课表SC:
create table SC(
  Sno char(9),
  Cno char(4),
  Grade smallint,
  frimary key (Sno,Cno), /*主码由两个属性构成,必须作为表级完整性进行定义*/
  foreign key (Sno) references Student(Sno), /*表级完整性约束条件,Sno是外码,被参照表是Student*/
  foreign key (Cno) references Course(Cno)   /*表级完整性约束条件,Cno是外码,被参照表是Course */
);

推荐学习:mysql视频教程

以上がMySQL の基本的な一般的なコマンドの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。