第十七章 數據庫操作-CENTOS7.5知識

一、數據庫介紹
數據庫:
sql server : 微軟
oracle :甲骨文 收費 閉源
mysql :甲骨文 免費
SUN公司 小型機unix java mysql marrydb
其中MariaDB是MySQL的分支,也是它的進階產品,未來很有可能替代MySQL。
Fackbook 阿里 : 去IOE產品(IBM ORACLE EMC2(存儲櫃))拿自己的錢給別人交學費,不必過度依賴傳統的IOE架構
阿里:定製系統 服務器 數據庫 定製

二、MYRIADB介紹
mysql:
簡單易用、免費、查詢速度快、安全可靠
獨立的服務器,跟linux本身沒有關聯(包括命令、管理、遠程管理等)
數據庫結構: 數據庫、表、字段、值
(表格、列/字段、1條記錄/1行)

MariaDB有許多的新選項、擴展,存儲引擎和bug修復,而MySQL是沒有的
安裝myriadb服務器:(在光盤上有rpm包)
yum install mariadb-server mariadb

數據庫配置文件:
設置客戶端:
vim /etc/my.cnf.d/mysql-clients.cnf

[mysql]
default-character-set=utf8

設置服務端:

vim /etc/my.cnf.d/server.cnf

[mysqld]
init_connect='SET collation_connection = utf8_general_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_general_ci
skip-character-set-client-handshake


開啓mariadb:

Systemctl start mariadb

查看服務狀態:
Systemctl status mariadb
netstat -antpl | grep 3306

=============================
mysql安裝後,默認沒有密碼
mysql命令直接進入管理

爲mysql賬戶設置密碼:
mysqladmin -u 用戶名 -p password 密碼
再回車即可,若有原密碼,輸入原密碼回車實現改密碼
mysqladmin -uroot -p password 123123
以後進入mysql,通過
mysql -uroot -p123123

進入mysql數據庫配置模式:
mysql -u 用戶名
mysql -u root //root是mysql自己的管理員賬戶,默認沒有密碼

進入mysql數據庫配置模式(有密碼情況):
mysql -u 用戶名 -p密碼

mysql -u 用戶名 -p
輸入密碼再回車

如:mysql -u root -p123456
mysql -u root -p

退出mysql配置模式:
quit;

忘記root密碼:
vim /etc/my.cnf.d/server.cnf
在[mysqld]下方添加一行信息:skip-grant-tables
保存退出
Systemctl restart mariadb
mysql -u root
update mysql.user set password=PASSWORD('新密碼') where user='root';
quit;
vim /etc/my.cnf.d/server.cnf
註釋掉skip-grant-tables
保存退出
Systemctl restart mariadb
生效!

=================================

查看/列出所有數據庫:
show databases;

進入數據庫:
use 數據庫名;

查看/列出所有表
show tables;

查看錶的內容:
select 字段名 from student;
select * from 表名;
select user,password from 表名

查看/列出表的所有字段:
desc 表名;

建立新數據庫:
create database 數據庫名;

創建表: 主鍵
create table 庫名.表名 (字段名 類型,字段名 類型,字段名 類型, primary key(字段名));

註釋:
int 整數類型 xxxxxxxxxx 10位 4字節
bit 比特類型 0/1
float 單精度浮點類型
char(n) 字符串 固定長度
varchar(n) 字符串 可變長度
text 字符串 可變長度
date xxxx-xx-xx
time hh:mm:ss

添加一條記錄/值:
insert into 庫名.表名 [(字段名,字段名.....)] values (值,值.....);
------------------------------------------
更改表的字段及類型:(更改表的結構)
help alter; //查看alter命令的幫助信息

修改表的字段:
alter table 庫名.表名 add 字段名 類型 [first/after 字段名];
alter table 庫名.表名 drop 字段名;
alter table 庫名.表名 modify 字段名 類型;

alter table chengji add banji varchar (2);

修改一條記錄/值:
update 庫名.表名 set 字段=值 [where 條件];
update cj set sex=NULL where 條件;
update cj set shuxue=60,yuwen=60 where name='lsy';
條件語法格式:字段=值
注意:當值爲數字時不需要加單引號,如是字符串必須加單引號。

==============================
刪除記錄:
delete from 庫名.表名 where 條件;

刪除表:
drop table 庫名.表名;

刪除數據庫:
drop database 數據庫名;

如何備份數據庫,以及繞過數據庫用戶驗證登錄
mysqldump -u root -p 庫名 表名 > 路徑文件

進入mysql後
進入數據庫
source chengji.dmp;
可以恢復數據

如何授權遠程用戶登錄數據庫管理表格

grant all privileges on *.* to lanadmin@'172.18.11.%' identified by '123123';

status;
查看數據庫狀態


條件查詢記錄:

select 字段名列表 from 表名;
select 字段名列表 from 表名 [where 條件表達式];

select * from t1 where age > 10;

註釋:
字段名列表的表示方式:

  • 所有字段
    字段名1
    字段名1,字段名2, 字段名N

條件的表示方式:
結構: 字段 運算符 值

表的關聯查詢

MariaDB [cc]> desc t1;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | char(3) | YES | | NULL | |
| name | varchar(10) | YES | | NULL | |
| sex | char(2) | YES | | NULL | |
| age | char(3) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+

desc t2
-> ;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id | char(3) | YES | | NULL | |
| score | int(11) | YES | | NULL | |
| class | char(4) | YES | | NULL | |
| note | varchar(100) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+

MariaDB [cc]> select *from t1;
+------+--------+------+------+
| id | name | sex | age |
+------+--------+------+------+
| 101 | 張三 | 男 | 25 |
| 102 | 李四 | 女 | 23 |
| 103 | 王五 | 男 | 24 |
+------+--------+------+------+

MariaDB [cc]> select * from t2;
+------+-------+-------+------+
| id | score | class | note |
+------+-------+-------+------+
| 101 | 80 | 2 | sd |
| 102 | 90 | 3 | gd |
| 103 | 85 | 2 | bj |
+------+-------+-------+------+

MariaDB [cc]> select t1.name,t1.sex,t2.score,t2.class from t1,t2 where t1.id=t2.id;
+--------+------+-------+-------+
| name | sex | score | class |
+--------+------+-------+-------+
| 張三 | 男 | 80 | 2 |
| 李四 | 女 | 90 | 3 |
| 王五 | 男 | 85 | 2 |
+--------+------+-------+-------+

===============================================

Mysql作業
1、MYSQL更改root密碼和添加一個用戶的用戶密碼(忘記密碼的情況下)
2、MYSQL建立學籍表與成績表,進行關聯查詢,從兩個表取出:姓名,性別,分數,班級。
3、MYSQL建立學籍表與成績表,進行關聯查詢,從兩個表取出:姓名,性別,班級,成績+10。
4、MYSQL數據備份,模擬庫刪除後的數據恢復。
*

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章