ライブラリ、テーブル、レコードに対するmysqlの操作

mysqlステートメント

mysqlデータベースの操作

(1)データベースを表示するデータベースに
直接入力して、以下を表示します。

mysql> show databases;

行に表示:

mysql> show databases \G

シェルでの表示:
mysql -eの直後にsqlステートメントが続きます。このメソッドは、通常、シェルスクリプトで使用されます。

 mysql -e 'show databases' -uroot -p123456

(2)データベース
mysqlの作成>データベースデータベース名の作成;

mysql> create database if not exists haha;  
##如果不存在此数据库,才创建,可以避免出现错误信息
mysql> create database `ha-ha`;   
##如果有特殊符号需要有``括起来

上記のコマンドのデータベース名は、オペレーティングシステムの制限されたディレクトリ名と一致している必要があります。
ファイル名とディレクトリ名に、/、:、*、?、 "、<、>、|を含めることはできませんこれらはMySQLデータベース名に含まれています。文字は自動的に削除され
ます。データベースの名前は64文字を超えることはできません。特殊な文字を含む名前、または数字または予約済みの単語のみで構成される名前は、バッククォートで囲む必要があります。
データベースを複製することはできません。

(3)運用するデータベースを選択する

mysql> use 数据库名;
##后面的操作默认都是在被选择的数据库中进行操作
Database changed

(4)あなたの場所を確認してください

mysql> select database();
##看看自己在数据库中的哪里

mysql> select now(),user(),database();
##看看自己在数据库哪里,用户是谁,
现在的日期和时间,使用时间函数,用户函数,数据库函数

(5)シェルコマンドラインでデフォルトデータベースを選択します

[root@haha ~]# mysql -uroot -p123456 haha

(6)データベースを削除する

mysql> drop database `ha-ha`;
##此命令不安全,数据无法恢复,在工作中
我们可以移动数据库目录到别的地方,防止
删除数据库了想要恢复
[root@haha ~]# mkdir /db_backup
[root@haha ~]# mv  /data/mysql/data/ha-ha \
>/db_backup

mysql> drop database if exists `ha-ha`;  
 ##如果存在此数据库,才进行删除,
 可以防止出现错误信息

mysqlテーブル操作

(1)テーブル
mysqlの作成>テーブルテーブル名の作成(フィールド名タイプ、フィールド名タイプ、フィールド名タイプ);

mysql> use haha;
mysql> create table xixi(id int(20),name char(40),age int);

mysql> create table haha.hehe(id int(20),name char(40),age int);
##这样不需要进入到数据库里

(2)表の関連情報を表示する

mysql> use haha;
Database changed
mysql> show tables;

(3)テーブル構造を表示します
mysql> desc table name;

mysql> Explain database.table name;
mysql> show columns from database.table name;
mysql> show fields from database.table name;
mysql> show columns from database.table name like '%field';

(4)
テーブル作成するために実行されたコマンドを確認しますmysql> show create table table name \ G

(5)デフォルトのストレージエンジンと文字セットを指定します。
ストレージエンジン:ハードディスクに似たファイルシステム

文字セット:文字セットが異なり、文字の長さが異なります

新しいテーブルを作成し、デフォルトのストレージエンジンをInnoDBとして指定し、utf8としてエンコードします

mysql> create table student2(id int(20),name char(40),age int) ENGINE=InnoDB DEFAULT CHARSET=utf8;

(6)テーブル
mysqlを削除>テーブルテーブル名を削除します

(7)テーブル情報の先読みの
禁止データベースが禁止前に変換されると、プロンプトメッセージが表示されます
mysql -uroot -p123456 -A

(8)テーブル名を
変更します。テーブルテーブル名を変更します。新しいテーブル名を変更します。

mysql> alter table student rename students;

(9)
テーブル内のフィールドタイプを変更します。テーブルテーブル名を変更します。変更するフィールド名のタイプを変更します。

mysql> desc students;
mysql> alter table students modify id int(10);
##修改字段id 的int20)字段类型为int10

(10)
テーブル内のフィールドタイプとフィールド名を変更します。テーブルテーブル名を変更します。元のフィールド名を変更します。新しいフィールド名新しいフィールドタイプ。

mysql> desc students;
mysql> alter table students change name stname char(20);
##重命名字段name为stname,字段类型

変更列の名前を変更して列のタイプを変更するには、古い列名、新しい列名、および現在のタイプを指定する必要があります。MODIFYは列のタイプを変更できます。現時点では名前を変更する必要はありません(新しい列名を付ける必要はありません)。

(11)テーブルにフィールドを追加する
テーブルテーブル名を変更するフィールド名を追加するフィールドタイプ;
enum ##性別などの列挙タイプは、男性と女性、男性と非女性、女性と非男性でのみ選択できます。

mysql>  alter table students add sex enum('M','W'); 

(12)テーブルの指定された位置にフィールドを追加します

在第一列添加一个字段
mysql> alter table students add uid int(10) first;
在age后面添加一个address字段
mysql> alter table students add address char(40) after age;

(13)
テーブル内のフィールド変更テーブルテーブル名ドロップフィールド名を削除します。

mysql>  alter table students drop address;

mysqlテーブルに操作を記録します

(1)Insert <record> INSERT
INSERT INTOステートメントは、テーブルに新しい行を挿入するために使用されます

テーブル名の値に挿入します(フィールド値1、フィールド値2、フィールド値3);

レコードを挿入する場合、値で指定された値は、テーブルのフィールドの数、順序、およびタイプに1対1で対応している必要があります

mysql> drop tables students;
mysql> create table students(id int(20),name char(40),age int);
mysql> alter table students add sex enum(‘M’,’W’);
mysql> insert into students values(1,'haha',25,'M');

(2)複数のレコードを同時に挿入する

mysql>  insert into students values(2,'lis',24,’M’),(3,'wange',26,’W’);

(3)テーブルレコードを個別に挿入
するテーブル名に挿入する(フィールド1、フィールド2、...)VALUES(フィールド値1、フィールド値2、...);

mysql> insert into students (id,name)values(4,'hangl');

(4)クエリテーブルに記録された
SELECTステートメント、データベーステーブルからデータを読み取るために使用されます。

select * from table name;
## *はテーブル内のすべてのフィールドを示します

查询所有记录:
mysql> select * from students;

表中记录多的时候可以使用\G查看;
mysql> select * from student\G

只查询表中某个字段或者某个字段的内容;
mysql> select name from students;
mysql> select id,name from students;

查看别的数据库的表或者不在本数据库上进行查看;
SELECT 字段 FROM 数据库名.表名;
mysql> select * from haha.students;

(5)テーブル内のレコードを
削除します。deletefromtable_name WHERE some_column = some_value;
WHERE句は、削除する必要のある1つまたは複数のレコードを指定します。WHERE句を省略すると、すべてのレコードが削除されます。

删除表中id为3的行
mysql>  delete from students where id=3;

删除age为空的行
mysql> delete from students where age is null;

(6)レコードの
更新updateステートメントは、テーブル内のデータを変更するために使用されます
UPDATE table_name
SET column1 = value1、column2 = value2、...
WHERE some_column = some_value;
WHERE句は、更新する必要のあるレコードまたはレコードを指定します。WHERE句を省略すると、すべてのレコードが更新されます。

更新表中id为2的记录,更新内容age=25
mysql> update students set age=25 where id=2;

把表中所有id都更新为2
mysql> update students set id=2;

同时更新多个字段的记录(字段值),使用逗号隔开
mysql>  update students set id=1,name='zhangsan' where age=21;

おすすめ

転載: blog.csdn.net/weixin_52441468/article/details/112557312