day37
Pythonの高度な----データベースは、MySQLデータベース言語の基礎(CRUD、アクセス権)の基礎ディアン
データベースとは何か:
略称:データベース----> DB
倉庫に格納されているデータベースのデータは、ウェアハウスは、コンピュータ記憶装置上にあり、データが特定のフォーマットで格納されています
特定の組織データ記述されたモデル、およびストレージに応じて、データベース内のデータは、より小さな冗長性、より高いデータ独立性と容易な拡張性を有し、様々なユーザで共有することができます
データベース管理システム:
略称:データベース管理システム----> DBMS
データベース管理システム製品:MySQLのは、Oracle、SQLiteの、SQL Serverの....
利点のデータベース:
1.安定性プログラム:マシンがダウンしているが、データとデータベースサービスには影響を与えません。
2.データの一貫性:すべての操作のデータに保存されているすべてのデータが矛盾に出席しませんが、統一されたプログラムです
3.同時:良いデータベースは、同時データベース自体をサポートすることができますが、ネットワークの動作をサポートしています。
4.効率:データベースデータ高効率CRUD
5.データのセキュリティを確保
二ディアンデータベース分類
リレーショナルデータベース:
意味:
リレーショナルモデルは、単純に2次元モデルの形状として理解することができ、リレーショナルデータベースは、データ編成のその二次元のテーブル間の関係であります
一般的なリレーショナルデータベース:
MySQLのオラクルのSQLServer sqlliteのaccesse
非リレーショナルデータベース(のNoSQL:なしのみSQL):
意味:
必要に応じて、キーと値のペアの形式で格納され、かつ構造が固定されていない。各要素は、フィールドの異なるセットを持つことができ、各タプルは、独自のキーと値のペアのうちのいくつかを追加することができます。
利点:
これは、いくつかのオーバーヘッド時間と空間を減らすことができます、
フリーモード:テーブルの構造を定義する必要はありませんが、データテーブル内の各レコードは、異なる属性とフォーマットを有することができます。
非正規化:テーブル間のパラダイム・クレーム削除整合性制約に従わない依存を減らします
弾性スケーラビリティ:システムが実行されて、ダイナミックに削除してノードを追加することができます
複数のコピー非同期レプリケーション:迅速にデータやノードの書き込みは、ログを読むことによって、残りのノードは、非同期レプリケーションを実装するために書かれています
弱い情勢は:完全にトランザクションのACID特性を満たしていないが、あなたは、最終的なトランザクションの一貫性を保証することができます。
一般的な非リレーショナルデータベース:
RedisのMongoDBのメモリキャッシュ(メモリレベル)
水とMySQLデータベース
MySQLはどのようなものです:
MySQLはあるリレーショナルデータベース管理システムの現在一部スウェーデンの会社のMySQL ABが開発した、オラクルの製品。MySQLは最も人気のあるリレーショナルデータベース管理システム、WEBアプリケーションの一つ、MySQLは最高ですRDBMS(リレーショナルデータベース管理システム、リレーショナルデータベース管理システム)アプリケーション。
MySQLは速度および改善された柔軟性を増加させる従って、大きな倉庫内のすべてのデータを入れて、リレーショナルデータベース管理システム、別個のテーブルにリレーショナルデータベースのデータを格納するのではなくなります。
MySQLのSQL言語は、アクセスするために使用されているデータベースで最も一般的に使用される標準化された言語のを。MySQLソフトウェアは、その小さなサイズ、高速、低所有コスト、特にの、分割コミュニティ、商用バージョン、デュアルライセンスポリシーを使用して、オープンソースこの機能、中小ウェブサイトの開発は、データベースのウェブサイトとしてMySQLを選択しました
MySQLデータベースをインストールします。
詳細な手順します。https://www.cnblogs.com/Eva-J/articles/9669675.html
四のディアンMySQLの声明
SQL言語:
構造化照会言語SQLを確認し、特別目的プログラミング言語で、データアクセスとクエリのデータベースクエリやプログラミング言語で、リレーショナルデータベースシステムを更新し、管理します
SQL言語は主に、データ、クエリデータ、更新データにアクセスし、リレーショナルデータベースを管理するために使用されます。
SQL言語の種類:
DDL:データベース定義言語:データベース、テーブル、ビュー、ストアドプロシージャ、インデックス,: XXXを作成
DML:データベース操作言語:増加の挿入、削除、変更、更新を削除し、選択チェック
DCL:Database Controlの言語:許可するユーザーアクセスを制御するために使用し、取り消します
簡単なデータベース
1. 操作文件夹(库)
增:create database db1 charset utf8;
查:show databases;
改:alter database db1 charset latin1;
删除: drop database db1;
2. 操作文件(表)
先切换到文件夹下:use db1
增:create table t1(id int,name char);
查:show tables;
改:alter table t1 modify name char(3);
alter table t1 change name name1 char(2);
删:drop table t1;
3. 操作文件中的内容(记录)
增:insert into t1 values(1,'egon1'),(2,'egon2'),(3,'egon3');
查:select * from t1;
改:update t1 set name='sb' where id=2;
删:delete from t1 where id=1;
清空表:
delete from t1; #如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始。
truncate table t1;数据量大,删除速度比上一条快,且直接从零开始,
*auto_increment 表示:自增
*primary key 表示:约束(不能重复且不能为空);加速查找
データベースユーザーの処置:
#进入mysql客户端
$mysql
mysql> select user(); #查看当前用户
mysql> exit # 也可以用\q quit退出
# 默认用户登陆之后并没有实际操作的权限
# 需要使用管理员root用户登陆
$ mysql -uroot -p # mysql5.6默认是没有密码的
#遇到password直接按回车键
mysql> set password = password('root'); # 给当前数据库设置密码
# 创建账号
mysql> create user 'eva'@'192.168.10.%' IDENTIFIED BY '123';# 指示网段
mysql> create user 'eva'@'192.168.10.5' # 指示某机器可以连接
mysql> create user 'eva'@'%' #指示所有机器都可以连接
mysql> show grants for 'eva'@'192.168.10.5';查看某个用户的权限
# 远程登陆
$ mysql -uroot -p123 -h 192.168.10.3
# 给账号授权
mysql> grant all on *.* to 'eva'@'%';
mysql> flush privileges; # 刷新使授权立即生效
# 创建账号并授权
mysql> grant all on *.* to 'eva'@'%' identified by '123'