MySQL資料庫入門 二 安裝及基本命令

2021-10-18 16:39:12 字數 4312 閱讀 9800

mysql是關係型資料庫管理系統,由瑞典mysqlab公司開發,屬於 oracle 旗下產品。mysql是最流行的關係型資料庫管理系統之一,在web應用方面mysql運用非常廣泛。它是最好的rdbms(relationaldatabasemanagementsystem,關聯式資料庫管理系統)應用軟體之一。

mysql是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性。

mysql使用的sql語言是用於訪問資料庫的最常用標準化語言。mysql軟體採用了雙授權政策,分為社群版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,一般中小型**的開發都選擇mysql作為**資料庫。

學習資料庫知識,以免費開源的mysql社群版即可,今天重點講的是mysql環境配置。

windows平台:

sudo dpkg -i mysql-apt-config_0.8.16-1_all.deb
另外,上述檔案安裝時要按執行環境選擇適合的作業系統及版本。

安裝mysql:

sudo apt install mysql-server
更新apt快取:

sudo apt update
更新軟體包:

sudo apt upgrade
安裝mysql工作台:

sudo apt install mysql-workbench-community
檢視安裝的mysql版本號:

mysqladmin --version
檢視mysql程序:

ps -ef | grep mysqld
檢視服務狀態:

systemctl status mysql.service
重啟服務:

service mysql restart
關閉服務:

service mysql stop
開啟服務:

service mysql start
設定開機自啟動服務:

sudo systemctl enable mysql
登入sql:

sudo mysql
指定使用者名稱登入sql (-u後面指定使用者名稱,-p指定需要密碼):

sudo mysql -u root -p
取消sudo登入,先用sudo登入進mysql控制台以後,輸入下面這條語句(password設自己需要的):

​alter user 'root'@'localhost' identified with mysql_native_password by 'password';
sql:結構化查詢語言(structured query language)簡稱sql,是一種資料庫查詢和程式語言,用於資料訪問、查詢、更新和管理關係資料庫系統。

sql語句有很多關鍵字,使用者的資料庫名、表名、欄位名均不得使用sql語句的關鍵字。sql語句以關鍵字開頭,sql語句的結束標誌不是回車符、換行符,所以一條長的sql語句可以寫成多行,sql的語句結束標誌是英文半形「;」,遇到;表示一句sql語句結束。

sql語句中英文半形「#」是注釋符,該符號後面的所有內容會被認為是注釋而被忽略不執行,注釋是為了提高程式和**的可讀性,寫複雜的sql語句時一定要養成寫注釋的好習慣。

sql語言分為以下3種型別:

ddl語句(database definition language)資料庫定義語言: 資料庫、表、檢視、索引、儲存過程,例如create drop alter。

dml語句(database manager language)資料庫操縱語言: 插入資料insert、刪除資料delete、更新資料update、查詢資料select。

dcl語句(database control language)資料庫控制語言: 例如控制使用者的訪問許可權grant、revoke。

檢視當前登入使用者:

select user();
檢視所有使用者:

use mysql;  # 切換當前資料庫為mysql

select host,user from mysql.user; # 檢視所有使用者

select * from mysql.user\g; # 檢視所有使用者詳細許可權

建立賬號:

create user 'usr'@'192.168.10.%'   identified by '123';  # 指示192.168.10.%標識網段,'123'表示密碼

create user 'usr'@'192.168.10.5' # 指示某機器可以連線

create user 'usr'@'%' # 指示所有機器都可以連線

show grants for 'usr'@'192.168.10.5'; # 檢視某個使用者的許可權

更改賬號密碼:

alter user 'guest'@'localhost' identified with mysql_native_password by '123456';
遠端登陸:

mysql -uroot -p123 -h 192.168.10.3
給賬號授權:

grant all on *.* to 'usr'@'%';  # all表示所有許可權

grant select on 資料庫名.表名(或用*表示全部表) to '使用者名稱'@'ip或網域名稱' # select表示查詢許可權

grant select,create,drop,update,alter on *.* to 'test'@'localhost' # 給test賬號授予檢視、建立、刪除、更新、更改許可權

show grants for 'test'@'localhost'; # 檢視test賬號的許可權

flush privileges; # 重新整理使授權立即生效

建立賬號並授權:

grant all on *.* to 'usr'@'%' identified by '123'
切換:use 庫名; # 切換當前庫

增:create database db1 charset utf8; # 建立資料庫,相當於資料夾

刪: drop database db1; # 刪除指定庫

改:alter database db1 charset latin1; # 更改庫的屬性

查:show databases; # 檢視所有的庫名

切換:use db1 # 操作表之前先要切換到該錶所在的資料庫

增:create table student(id int,name char(18),class char(10)); # int是整數型,不用指定長度;char是字元型,需要指定長度

刪:drop table student; # 刪除指定表

改:alter table student modify name char(3);

alter table student change name name1 char(2);

查:show tables; # 檢視當前庫下所有表

desc 表名; # 等同於describe 表名,檢視表結構簡約資訊

show create table student \g; # 檢視表結構詳細資訊

增:insert into student values(1,『egon1』),(2,『egon2』),(3,『egon3』);

刪:delete from student where id=1;

改:update student set name=『sb』 where id=2; # update 表 set

查:select * from student; # select 字段 from

delete from student; # 如果有自增id,新增的資料,仍然是以刪除前的最後一樣作為起始。

truncate table student; # 資料量大,刪除速度比上一條快,且直接從零開始,

注:auto_increment 表示:自增

primary key 表示主鍵約束,主鍵不能重複且不能為空,設定主鍵可以加速查詢。

Mysql資料庫入門二

外來鍵約束 乙個實體的某個字段指向另乙個實體的主鍵,就稱為外來鍵被指向的實體 它的作用 用於約束處於關係內的實體.保證引用完整性,也就是說資料的準確 tips 1.外來鍵一定要指向主鍵,有主鍵才有外來鍵 2.外來鍵列的型別和長度一定要和參照的主鍵的型別和約定長度一致 新增外來鍵 有兩張表分別為stu...

MySQL檢視資料庫鍵 MySQL資料庫基本命令

sql structure query language 結構化查詢語言 sql語言分為4個部分 ddl 定義 dml 操作 dql 查詢 dcl 控制 1 ddl語句 資料庫定義語言 資料庫 表 檢視 索引 儲存過程,例如create drop alter2 dcl語句 資料庫控制語言 例如控制使...

mysql資料庫名語法 MySQL資料庫基本語法

1,檢視資料庫 show databases 2,選擇要操作的資料庫 use 資料庫名 3,建立資料庫 create database 資料庫名稱 4,刪除資料庫 drop database 資料庫名稱 5,建立表 create table 表名 列名 列型別,6,檢視當前資料庫所有表 show t...