基本的な操作をmardb

mariadb(章I)
種のデータベース
初期のデータベース理論、より人気のデータベースモデルによると、3、すなわち、階層型データベース、ネットワークデータベースとリレーショナルデータベースが存在し、今日の最も一般的な主要なデータベースモデルにおけるインターネット2、すなわち、リレーショナルデータベースと非リレーショナル・データベースであり
、リレーショナルデータベース
(1)リレーショナルデータベースの原点
  ネットワークデータベース及び階層型データベースは、良好な溶液濃度とデータの共有をしてきたが、しかし、データの独立性と抽象化のこれらの2つのレベルでデータベースにアクセスするユーザーの偉大な不足が依然として存在しているとき、まだアクセスパスを費やし、データベース記憶域構造をクリアする必要があり、リレーショナルデータベースは、これらの問題に良い解決策になることができます
         (2)の関係データベースが説明
                  リレーショナル・データベース・モデルは単純なバイナリ関係(両方の2次元テーブル形式)に起因する複雑なデータ構造です。例えば、チボリ教育の学生との関係は、これらの関連フォームを分類することにより、ほぼ1つのまたは複数のリレーショナル表に基づいて、すべてのデータを操作し、リレーショナルデータベース内のバイナリ関係で、マージ、接続、または選択およびその他の操作は、データを管理することができます。
   年間十数十億ドルのまでを形成するために、支配的な地位に上昇し、我々は、最も一般的なMySQLとOracleデータベースであるOracleデータベースのフィールドを:リレーショナルデータベースのような、現実に理論から製品の開発で、その結果、40年前に生まれてきました巨大な産業用市場、およびMySQLデータベースは、Oracleセンターに買収されたこと、無視することはできません。
    (3)リレーショナルデータベースのテーブル間の関係を含みます

 
 

 

 
非リレーショナルデータベース(NoSQLの)
ものNoSQLデータベース、ノートとして知られている非リレーショナルデータベースは、NoSQLの意図は、「だけでなく、SQL」でなく、この意味での「NO SQL」、NoSQLのよりも、非リレーショナルデータベースを参照しますプロデュースは完全にリレーショナルデータベースを否定するものではなく、従来のリレーショナル・データベースへの効果的な補完するものとして、NoSQLのデータベースは、特定のシーンで非常に高効率、高パフォーマンスを再生することができます。
従来のリレーショナルデータベースIOのボトルネック、パフォーマンス:Web2.0の純粋な動的なサイトのインターネットの台頭、大規模かつマイクロブログの高い同時量、手紙、SNSのタイプでは不十分であるように見えた、などの克服が困難な問題の多くを暴露ボトルネックが効果的に破壊することは困難である、そして特定のシーン、このようなシナリオで生まれているとの非常に急速な発展となっているのNoSQLデータベースのようなデータベース製品の特定の機能の目的のために使用する高性能と使いやすさのために大量に表示されるようになった
のNoSQL非リレーショナルデータベースの広い定義。それACID状況にリレーショナルデータベースの統一理論に長い時間を破った、のNoSQLデータストアは、固定テーブル構造を必要としない、一般的に大規模なデータ・アクセスのリレーショナル・データベースの比類のないパフォーマンス上の利点と、動作するように接続がありません、 2009年初め用語(のNoSQL)が広く認識されている
GoogleのBigTableのをとAmazonのダイナモのNoSQLは非常に成功したビジネスである、のようなオープンソースのNoSQLシステムの一部
のRedis、MongoDBのは、徐々に主要な中小企業で人気を集めていますそして、求める
の非リレーショナルデータベースの種類
          の鍵(キーと値)に格納されたデータ
   のキープライマリキーアクセスの使用は、それが可能になるので、伝統的な言語で使用される同様のハッシュテーブルのキーデータベースには、キー、クエリやデータを削除することで追加することができます高いパフォーマンスとスケーラビリティを実現
          主に、ハッシュテーブルを使用して、キー(キー値)データベースは、この表は、特定のキーと特定のデータへのポインタを有し、ITシステムのためのキー/値のモデルは単純で簡単な展開の利点を有する、高同時
 #キー

 
 
共通データベース
非リレーショナルデータベース(のNoSQL):MongoDBは、redias
リレーショナルデータベースを:オラクル、DB2、SQLServerのは、MySQL、MariaDB
RDBMS
リレーショナル・データベース管理システム


 
表(Table) 特定类型数据的结构化列表
表是结构化的文件,用来存储特定类型的数据,表可能存储客户清单,产品目录,或者其他信息列表。
存储在表中的数据是一种类型的数据或一个列表,绝对不应该将顾客的列表信息和订单的列表信息存储到同一个数据库表中,
这样做会使随后的数据检索和访问变得困难,代替的解决方案是创建两个表,在每个表中存储其相应的列表信息。
数据库中每个表都有一个名字来标识它,
并且在一个数据库中表名是唯一的
 
列( Column): 表中的一个字段,表由一列或多列构成,列中存储表的一部分信息
每一列存储一条特定信息。例如在客户表中,一列存储客户编号,另一列存储客户姓名,
而地址,城 市,州,邮政编码存储在各自的列中。数据库中每一列都有相应的数据类型,
数据类型定义了该列可以存储哪种类型的数据。例如,如果某列要存储数字,就应该使用numeric数据类型。
如果某列存储日期,文本,提示,金额等 就需要用恰当的数据类型来指定。
行( Row):表中的一条记录
表中的数据存储在行里,把表当做类似电子表格的网格,在网格中垂直的列就是表的列 ,水平的行就是表的行。
例如,客户表可能在每一行存储一个客户,表中行的数量也就是表中记录的条数。
注: NULL 在SQL中NULL用来指代空值( no value),如果一列被定义为允许为NULL,
当插入或者更新行时,可以忽略该列的数据。
 
 
• sql语句主要分为:
○ DQL:数据查询语言,用于对数据进行查询,如select
○ DML:数据库操作语言,对数据库进行增删改查,如:insert,update,delete
○ TPL:事物处理语言,对事物进行处理,包括begin,transaction,commit,rollback
○ DCL:数据控制语言,如grant,revoke
○ DDL:数据定义语言:进行数据库,表的管理等,如create,drop
○ CCL:指针控制语言,通过控制指针完成表的操作,如declare cursor
• sql是一门特殊的语言,专门用来操作关系型数据库
• 不区分大小写
 数据库主要分为2种:
1,关系型数据库
基于硬盘存储的,关系型数据库是由多个表组成的,数据是存储在表中
Mariadb10.3
Mysql
Sqlite
Db2
Sqlserver
oracle
 2,非关系型数据库
基于内存存储的数据,也叫缓存数据库,对数据安全较差
key:value
Memcache
Redis
Mongledb
 
 
mariadb安装
[mariadb]
name = MariaDB
baseurl = http://mirrors.ustc.edu.cn/mariadb/yum/10.3/centos7-amd64/
gpgkey = http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
[root@zxw8 ~]# yum install mariadb mariadb-server -y 
[root@zxw8 ~]# systemctl start mariadb
忘记mysql的root密码
vim /etc/my.conf.d/server.conf
[server]
添加skip-grant-tables
重启数据库
mysql -uroot | mysql -u root -p
创建密码
[root@zxw8 ~]# mysql_secure_installation
修改密码
set password for root@localhost =password('zxw');
mysqladmin -uroot -p123456 password 123

 

 

查看数据库
 mysqladmin --version
#查看数据库版本

 show databases;
#查看数据库

create database zxw ;
#创建数据库


MariaDB [(none)]> show create database zxw;
+----------+----------------------------------------------------------------+
| Database | Create Database |
+----------+----------------------------------------------------------------+
| zxw | CREATE DATABASE `zxw` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+----------+----------------------------------------------------------------+
查看创建类型

#修改数据库默认字符集*中文、
已经有的库修给为utf8
•   alter database zxw character set utf8;
• alter table stubents character set utf8;

、创建数据库为utf
• create database zhao character set utf8 ;
 
• drop database zxw
#删除数据库

用户管理
select user();
查看主机名
 
• use zxw
• #切换数据库
 查看表
•  show tables ;
查看表的格式
desc 表名;
结构
select * from user ;
查看表里内容
select host,user,password from user ;

MariaDB [mysql]> select host,user,password from user;
+-----------+------+-------------------------------------------+
| host | user | password |
+-----------+------+-------------------------------------------+
| localhost | root | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| 127.0.0.1 | root | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| ::1 | root | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
+-----------+------+-------------------------------------------+
3 rows in set (0.001 sec)

grant select,create,update,del0.ete on test03.grade to 'aaa'@'%';
#给aaa添加查询,创建,更新,删除的权限(在任意主机上) 
 
grant all on zhao.grade to zhao@'localhost' identified by '123';
#给aaa赋予test03数据库的grade表最高权限(在任意主机上)
 
show grants for 'aaa';
#查看aaa用户的权限(root用户)
 
revoke all on *.* from 'aaa'@'%';
#收回aaa在任意数据库的任意表的最高权限
 
show grants
#查看权限

おすすめ

転載: www.cnblogs.com/itzhao/p/11286067.html