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...