コマンドを使用しての概念に基づいLinuxシステムのアーキテクチャ----- MySQLとMySQLのデータベース

ディレクトリ

 

基本的なデータベースの概念

II。非リレーショナルデータベース

三.MySQLデータベース構造

IV。databaseコマンドの基本的な操作

5つの基本コマンド.SQL


基本的なデータベースの概念

データベースの役割

  • だから、データの永続的に保存することができ、高い信頼性、高可用性、データをすばやく抽出できること

データベース・ストレージのタイプ

  • リレーショナルデータベース:格納された値、文字、文字列、ブール値。mysqlの(オラクル)は、SQL Server(マイクロソフト)、オラクル、DB2(IBM)、アクセス(マイクロソフトオフィス)は、Sybase

注:リレーショナルデータベースは、リレーショナルモデル、リレーショナルモデルからその基本的な考え方に基づいて、データベース・システムです。単純な二次元データテーブルを用いて、データ構造、上記リレーショナル代数の理論に基づいて、リレーショナルモデルは直接ERダイアグラム示す用いることができ、ER図のエンティティは、(データオブジェクト)が含まれ、三つの要素と属性の間の関係

  • 非リレーショナルデータベース:写真、ビデオ、および音声の保存。NOSQL(総称)、MongoDBのは、Redisの(メモリデータベース/キャッシュデータベース)、メモリキャッシュ(メモリデータベース/キャッシュデータベース)

注:memcacheのと同じポイントをRedisの:蓄熱データベースを、memcacheのとRedisのの異なる点:Redisのは、永続的に保存されて行うことができます、あなたは、オブジェクトを格納することができます

データベースの基本的な考え方

  • データ:数値、テキスト、グラフィックス、画像、音声、アーカイブ記録を含む記述子レコードのもの、均一なフォーマットに従って格納されるの形で「記録」への順序で
  • データシートは、「テーブル」を形成するために、互いに異なる組織の記録、データの特定を格納するために使用され
  • データベース:データウェアハウス・テーブルを格納し、収集され、特定の方法で組織店で相互に関連するデータ

II。非リレーショナルデータベース

非リレーショナルデータベースの紹介

  • 非リレーショナルデータベースはまた、NoSQLのとして知られており、データはリレーショナル・モデルに格納されていない基づいている相補リレーショナルデータベースは、サイトのますます急速な発展の時代に、高効率・高を果たしているように、固定されたテーブル形式、非リレーショナルデータベースを必要としませんパフォーマンス。
  • 非リレーショナルデータベースの利点:高同時読み取りと書き込みのデータベースに対する需要、効率的な大量データストレージおよびアクセス、データベースのための高いスケーラビリティと高可用性の要件

非リレーショナルデータベースのストレージ

  • キー - キーに基づいてストアに値道、削除、変更データ。
  • ストレージコラム、関連するデータは、カラムファミリーに保存されています
  • どの文書が、データベースは、一連のデータ項目から構成され、各データ項目は、名前に対応する値を持っています
  • 頂点としてグラフエンティティ、エッジの関係は、グラフィックにデータを保存しました

非リレーショナル・データベース製品

  • Redisのデータストレージは、データをメモリに格納され、キー値への道ですが、意志ディスクに定期的に書き込みデータ
  • Redisのmemcachedのに比べては、次の機能があります。サポートメモリ・キャッシング、永続的な、より多くのデータ型をサポートし、分散したクラスタのサポート、サポートキュー

注:データベースの前にキャッシュ、ユーザーエクスペリエンスを向上するために、セッションのセッション共有を使用して

 

三.MySQLデータベース構造

  • OracleのMySQLは使用して自由に変更するGPLに準拠するためのオープンソースのリレーショナルデータベース、あります
  • C / Sの構造、安全性と信頼性に基づいて、高パフォーマンス、サービスの安定した、オープンソース、著作権フリー、低コスト、マルチスレッド、マルチユーザー、次の特徴を持っています
  • MySQLコミュニティ版とビジネスエディションへ
  • MySQLの-5.6バージョンをインストールするための具体的な操作
##解压mysql-5.6版数据包
tar xzvf mysql-5.6.26.tar.gz -C /opt
##安装环境包
yum install -y ncurses-devel autoconf cmake

##安装必要功能模块
cd /opt/mysql-5.6.26
cmake  \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DSYSCONFIDIR=/etc \
-DMYSQL_DATADIR=/home/mysql/ \
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock
##编译与安装
make && make install

##覆盖本机的数据库,和前面的配置文件的目录一致
cp support-files/my-default.cnf /etc/my.cnf

##优化服务控制
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld       
chkconfig --add /etc/init.d/mysqld
chkconfig  mysqld --level 35 on

##设置环境变量,将启动脚本放到系统中
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
echo $PATH

##添加mysql用户
useradd -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql/
##初始化
/usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql

ln -s /var/lib/mysql/mysql.sock  /home/mysql/mysql.sock

##修改启动脚本
#指明工作路径
basedir=/usr/local/mysql   
#数据存放位置  
datadir=/home/mysql

##启动服务
service mysqld start

##给MySQL用户创建密码
mysqladmin -u root -p password "abc123"

IV。databaseコマンドの基本的な操作

  • データベース情報の一覧を見ます
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

mysql>
  • データベーステーブル内のデータを見ます
mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| innodb_index_stats        |
| innodb_table_stats        |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| servers                   |
| slave_master_info         |
| slave_relay_log_info      |
| slave_worker_info         |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
28 rows in set (0.00 sec)

mysql> 
  • 表示データテーブルの構造
mysql> describe student;
+-------+----------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| id    | int(4)   | NO   | PRI | NULL    |       |
| name  | char(10) | NO   |     | NULL    |       |
| age   | int(2)   | NO   |     | NULL    |       |
+-------+----------+------+-----+---------+-------+
3 rows in set (0.00 sec)

mysql> 

5つの基本コマンド.SQL

  • SQL言語は、次のようなクエリ言語、リレーショナルデータベースなどの行為で標準語、保守・管理のためのデータベース、構造化された追加または削除データ検索の変更
  • SQLカテゴリー:DDL:データ定義言語; DML:データ操作言語; DQL:データクエリ言語; DCL:データ制御言語

DDL、データ定義言語

  • データベースのデータベース名を作成し、データベースを作成します。
mysql> create database school;
  • データテーブルを作成し、テーブルのテーブル名(フィールド定義を...)を作成
mysql> use school
Database changed
mysql> create table student (id int(4) not null,name char(10) not null,age int(2) not null,primary key(id));

注:主キー、主キー、ユニーク、Nonemptiness; char型、char型、int型、int型

  • ライブラリのテーブルを削除します。
#删除表
mysql>drop table school.student;

#删除库

mysql>drop database school;

DML:データ操作言語

  • 使用挿入、新しいデータを挿入
  • 学生への挿入(ID、名前、年齢)の値(「1001」、「张三」、「20」)
mysql> use school
Database changed
mysql> insert into student(id,name,age) values("1001","张三","20");
Query OK, 1 row affected (0.08 sec)

##查询表
mysql> select * from student;
+------+--------+-----+
| id   | name   | age |
+------+--------+-----+
| 1001 | 张三   |  20 |
+------+--------+-----+
1 row in set (0.01 sec)

mysql> 

  • 使用の更新は、元のデータを交換します
  • 更新データベース名表1フィールド名=条件式1whereのセット値
mysql> select * from student;
+------+--------+-----+
| id   | name   | age |
+------+--------+-----+
| 1001 | 张三   |  20 |
| 1002 | 李四   |  22 |
| 1003 | 王五   |  22 |
| 1004 | 赵六   |  19 |
+------+--------+-----+
4 rows in set (0.01 sec)

mysql> update student set name="田七" where id="1004";
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from student;
+------+--------+-----+
| id   | name   | age |
+------+--------+-----+
| 1001 | 张三   |  20 |
| 1002 | 李四   |  22 |
| 1003 | 王五   |  22 |
| 1004 | 田七   |  19 |
+------+--------+-----+
4 rows in set (0.00 sec)

mysql> 
  • DELETEを使用し、指定されたデータを削除
  • どこ条件式テーブルから削除
mysql> select * from student;
+------+--------+-----+
| id   | name   | age |
+------+--------+-----+
| 1001 | 张三   |  20 |
| 1002 | 李四   |  22 |
| 1003 | 王五   |  22 |
| 1004 | 田七   |  19 |
+------+--------+-----+
4 rows in set (0.00 sec)

mysql> delete from student where name="张三";
Query OK, 1 row affected (0.01 sec)

mysql> select * from student;
+------+--------+-----+
| id   | name   | age |
+------+--------+-----+
| 1002 | 李四   |  22 |
| 1003 | 王五   |  22 |
| 1004 | 田七   |  19 |
+------+--------+-----+
3 rows in set (0.00 sec)

mysql> 

 

DQL:データクエリ言語

  • 指定されたテーブルからデータレコードを照会するための資格、声明を選択
  • どこ条件式テーブルからフィールド1、フィールド2を、...選択
  • 表現は、すべてのフィールドで表現することができたとき*
mysql> select * from student;
+------+--------+-----+
| id   | name   | age |
+------+--------+-----+
| 1002 | 李四   |  22 |
| 1003 | 王五   |  22 |
| 1004 | 田七   |  19 |
+------+--------+-----+
3 rows in set (0.00 sec)

mysql> select id,name from student where name="李四";
+------+--------+
| id   | name   |
+------+--------+
| 1002 | 李四   |
+------+--------+
1 row in set (0.00 sec)

mysql> 

 

DCL:データ制御言語

  • セットユーザー権限(ユーザーが存在しない、新しいユーザーを作成します)
  • [「パスワード」で識別]ソースアドレス@ユーザー名を見るために、データベース名を許可リストを付与

注:ユーザーが存在する場合、パスワードの変更を表し、ユーザーが存在しない場合は、新しいユーザーに代わって

  • 閲覧ユーザーの特権
show grants for 用户名@来源地址
  • ユーザーの権限を取り消します
revoke 权限列表 on 数据库名.表名 from 用户名@来源地址

 

 

 

 

 

公開された94元の記事 ウォンの賞賛108 ビュー6389

おすすめ

転載: blog.csdn.net/qq_42761527/article/details/103803094