1. 程式人生 > >第二十章 數據庫操作

第二十章 數據庫操作

需要 格式 ima 遠程 進階 value eat 作業 忘記密碼

一、數據庫介紹
數據庫:
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

開啟慢查詢
slow_query_log = ON
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 1


開啟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

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

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

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

第二十章 數據庫操作