データベース管理ソフトウェアに関連する概念
データベース管理ソフトウェア:本質は、csアーキテクチャ(ローカルファイルにデータを格納する問題を解決するために開発されたプログラム)を備えたソケットプログラムです。
サーバーソケットクライアントソケット
オペレーティングシステムオペレーティングシステム
コンピューター(ローカルファイル)コンピューターハードウェア
1.プログラムのすべてのコンポーネントを1台のコンピューターで実行することは不可能です。
コンピューターのパフォーマンスは限られています。実行するには、プログラムのコンポーネントを複数のマシンに分散させる必要があります。
2.データセキュリティの問題
各コンピュータはローカルファイルでしか動作できないため、
データの不整合が発生します。データをアプリケーションから分離し、ファイルを1台のマシンに保存してから、複数のマシンでネットワーク経由でこのマシンにアクセスします。ファイルを使用してデータ共有(データ)を実現します。問題に対処するには、セキュリティの問題をロックする必要があります...)
3.同時実行
リモート接続(同時サポート)で
ファイルを開き、
読み取りと書き込み(ロック)し
てファイルを閉じます
一般的なデータベース管理ソフトウェア
リレーショナルデータベース管理ソフトウェア(テーブルとテーブルの間に関係があります)
mysql、oracle
からIOEへの移動
非リレーショナルデータベース管理ソフトウェア(key:valueデータベース)
redis、memcache、mongodb(使用するバックエンドデータ)
redis、memcacheは通常、キャッシュとして使用され、データをメモリに配置し、
mongodb(バックエンドとして)を使用します使用するデータ)
非リレーショナルデータベース:高速クエリ
リレーショナルデータベース:便利な管理
sqlステートメント:ユーザー用のソケット管理ソフトウェアの作成者によって指定されたコマンド仕様
データベース
データの重要な概念の要約------------------- "物事の状態
記録------------------ -"ファイル
表の情報---------------------"ファイル
ライブラリ----------------
----- "フォルダヘッダー-------------------"フォームの最初の行のフィールド
--------------
----- "フィールド名+フィールドタイプデータベース管理ソフトウェア-----------"ソケットプログラム:mysqld(サーバー)、mysql(クライアント)
データベースサーバー---------- --- "mysqldを実行しているコンピューター
データベース???
ライブラリを指す場合もあれば、データベース管理ソフトウェアまたはデータベースサーバーを指す場合もあります。
Windowsシステムにmysqlソフトウェアをダウンロードしてインストールします。ダウンロードしてインストールした後
、使用するときに2つのポートを開く必要があります。1つはサーバー(mysqld)で、もう1つはクライアント(mysql)
です。コマンド「mysqld」を入力します。 cmdでサーバーを開き、次に開くcmdポート入力コマンド "mysql -u(ユーザー名)root -p(パスワード)-h(ip)-P(ポート番号、デフォルトのポート番号3306)"
mysqlが初期段階で構成されていたとき、cmdターミナルが管理者として
windows + rを実行するようになりました。cmdと入力して通常のユーザーターミナルに入ります。実行できないコマンドがいくつかあります
。cmdを右クリックして管理者として実行します。
mysqlを
起動し、mysqlが配置されているディレクトリに切り替えてから、mysqlと入力し
て、元のcmdウィンドウを保持して再度開きます。
一般的なソフトウェアのデフォルトのポート番号
mysql 3306
redis 6379
mongpdb 27017
django 8000
flask 5000
mysqlが管理者として初めて入力するときはパスワードがありません
クライアントがサーバーに接続するための完全なコマンド:mysql -h 127.0.0.1 -P 3306 -uroot -p
SQLステートメントの最初の知人
1.mysql中的sql语句是以分号作为结束的标志
2.基本命令
show databases;(查看所有的数据库名)
3.连接服务端的命令可以简写
mysql -uroot -p
4.当你输入的命令不对,又不想让服务端执行返回报错信息可以用\c取消
错误命令 \c取消
5.客户端退出 退出命令加不加分号都可以
quit
exit
6.当你在连接服务端的时候发现输入mysql也能连接
但是你不是管理员身份 而只是一个游客模式
環境変数の構成とシステムサービスの作成
小知识点补充
1.如何查看当前具体进程2
tasklist
tasklist |findstr mysqld
2.如何杀死具体进程(只有在管理员cmd窗口下才能成功)
taskkill /F /PID PID号
環境変数の構成
每次启动mysql需要先切到对应的文件路径下才能操作太过繁琐
将mysqld所在的文件路径添加到系统环境变量中
将mysql服务端制作成系统服务(开机自启动),这样就不需要两个cmd窗口了
查看当前计算机运行的进程数
service.msc
将mysql制作成系统服务
mysqld --install
移除mysql系统服务
mysqld --remove
设置密码
mysqladmin -uroot -p原密码 password 新密码
该命令直接在终端输入即可,无需进入客户端
認証をスキップしてパスワードをリセットします(パスワードクラッキング)。
ユーザー名とパスワードの検証を取得するmyqlの機能は、デコレータと見なすことができます。
クライアント要求アクセス機能からデコレータ
を削除すると、mysqlサービスは終了します。ユーザー名とパスワードを確認しない
1.先关闭当前mysql服务端
命令行的方式启动(让mysql跳过用户名密码验证功能)
mysqld --skip-grant-tables跳过授权表启动
2.直接以无密码的方式连接
mysql -uroot -p 直接回车
3.修改当前用户的密码
update mysql.user set password=password(123) where(注意,一定要使用where指定修改的密码,不然会把数据库所有的密码都改成123)
user="root" and host="localhost"
真正存储用户表的密码字段,存储的肯定是密文
只有用户自己知道明文是什么,其他人都不知道,这样更加的安全
密码比对也只能比对密文
4.立刻将修改的数据刷到硬盘
flush privileges
5.关闭当前服务端,然后以正常校验授权的形式启动
統一されたコーディング、構成では、管理者として直接ログインするためにパスワードは必要ありません
構成ファイルを変更した後、有効にするにはmysqlサービスを再起動する必要があります(注意)
mysql默认的配置文件
my-default.ini
ini结尾的一般都是配置文件
程序启动会先加载配置文件中的配置之后才真正启动
[mysqld] # 一旦服务端启动立刻加载下面的配置
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql] # 一旦客户端启动立刻加载下面的配置
。。。
[client] # 其他客户端
。。。
需要你自己新建一个my.ini的配置文件
验证配置是否真的会自动加载
[mysql]
print("hello world")
修改配置文件后一定要重启mysql服务才能生效(重点注意)
统一编码的配置 无需掌握 直接拷贝即可
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
将管理员的用户名和密码也添加到配置文件中后,
之后启动mysql数据库就不需要输入用户名和密码了 直接输入mysql会直接以管理员身份启动
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
user="root"
password=123
default-character-set=utf8
基本的なSQLステートメント
ps:ほとんどのプログラムのビジネスロジックは、実際には追加、削除、変更、およびチェックです。
ライブラリ(フォルダ)の追加、削除、変更、確認
增:create database db1;(指定编码格式的完整命令为:create database db1 charset="gbk";)
查:show databases; (查所有)
show create database db1; (查单个)
改:alter database db2 charset="utf8"
删:drop database db2;
テーブル(ファイル)への追加、削除、および変更
在操作表(文件)的时候 需要指定所在的库
查看当前所在的库的名字:select database();
切换库:use db1;
增:create table t1(id int,name char(4));
查:show tables; (查看当前库下的所有表名)
show create table t1;(查当前库下的指定表信息)
describe t1;(将当前表的信息以表格的形式展示,支持简写 desc t1;)
改:alter table t1 modify name char(16);
删:drop table t1;
表的增查改删也可以以绝对路径的形式进行操作,无需切换文件路径
create table db2.t1(id int);(例如在文件db1路径下,新增加一个db2库中的t1的表格)
データの追加、削除、変更、およびチェック(データの行ごと)
一定要现有库 有表 最后才能操作记录
增:insert into t1 values(1,"nana");
insert into t1 values(1,"nana"),(2,"dada"),(3,"tank")
查:select * from t1; (该命令当数据量特别大的时候不建议使用,*号代表所有的意思)
# select id,name from t1; (将t1中所有用户的id,名字显示出来)
简写 select name from t1; (将t1中所有用户的名字显示出来)
改:update t1 set name="lala" where id = 1;(将id等于1的名字改成lala)
删:delete from t1 where id > 1; (将id大于1的数据全部删除)
delete from t1 where name ="tank"; (将名字为tank的数据删除)
将表所有的数据清空:delete from t1;