您好,登錄后才能下訂單哦!
下文內容主要給大家帶來管理MySQL數據庫基礎解析,這里所講到的知識,與書籍略有不同,都是億速云專業技術人員在與用戶接觸過程中,總結出來的,具有一定的經驗分享價值,希望給廣大讀者帶來幫助。
MySQL數據庫
============
MySQL (RHEL5/6)
MariaDB ( RHEL7 )
數據遷移 mysql ---> MariaDB
-------------------------
1.MySQL數據庫服務安裝:
# rpm -q mysql-server || yum -y install mysql-server
# service mysqld status |start|stop
# chkconfig mysqld on
2.主配置文件:/etc/my.cnf
服務名/進程名: mysqld
進程所有者/組: mysql/mysql
默認監聽端口號:3306
傳輸協議:tcp
數據庫目錄:/var/lib/mysql/
==============
3.安裝官網下載的mysql軟件提供數據庫服務
# /etc/init.d/mysqld stop
# rpm -e --nodeps mysql-server mysql
# rpm -q mysql-server mysql
# rm -rf /etc/my.cnf
# rm -rf /var/lib/mysql/*
# tar -xvf MySQL-5.6.rpm.tar
# rpm -Uvh MySQL-*.rpm
# service mysql start
# netstat -untlap | grep mysql
# cat /root/.mysql_secret //初始密碼存放位置
# mysql -hlocalhost -uroot -pCxifrkkA
mysql>set password for root@"localhost"=password("123"); //首次進入數據庫需要更改密碼
mysql>quit;
# mysql -hlocalhost -uroot -p123
mysql>show databases;
===============
4.把數據存儲到數據庫云服務器上的過程?
4.1 連接數據庫服務器 mysql -hlocalhost -uroot -p123
4.2 選擇庫 use 庫名;
4.3 創建表 create table ...
4.4 向表中插入記錄 insert into ...
4.5 查詢記錄
4.6 斷開連接 quit
-------------------------------
**數據以文件的形式存儲在數據庫目錄下
**庫或表都是以文件的形式存儲在數據庫目錄下的
===============
5.數據庫服務的基本使用?
SQL命令使用規則:
命令不區分字母大小寫,
\c 可廢棄當前編寫錯的操作
命令必須以;結尾
命令不支持tab鍵補齊
庫名的命名規則:
具有唯一性
區分字母大小寫
只能使用數字、字母 _
不能是純數字
不要使用特殊字符和關鍵字?* .
===============
6.數據庫管理基本命令:
# mysql [-h服務器 -u用戶名 -p密碼 數據庫]
# quit 或 exit 退出
show databases; //查看服務器上已有的庫
select database(); //查看當前所在的庫
show tables; //顯示當前所在庫下已有的表
select * from 表名; //查看表所有的記錄
select 字段名列表 from 表名; //查看表記錄
desc 表名; //查看表結構
use 庫名; //切換庫
create database 庫名; //創建新數據庫
create table [庫名.]表名(
字段名 類型(寬度) 約束條件,
字段名 類型(寬度) 約束條件,
字段名 類型(寬度) 約束條件
); //創建表
insert into 表名 values(); //向表中插入記錄
drop database 庫名; //刪除已有的庫
drop table 表名; //刪除表
delete from 表名; //刪除表中的所有記錄
===============
7.mysql數據庫類型
字符類型 (名字 專業 家庭地址)
數值類型 (工資 成績 年齡 身高 體重)
日期時間類型 (生日 注冊時間 上課時間 約會 出生年份)
枚舉類型 set enum(性別 愛好 )字段的值只能在列舉的范
7.1 字符型(名字 專業 家庭地址)
char 定長 255
varchar 變長 65532 //根據存儲數據的多少開辟存儲空間
大文本類型 大于65535時使用
blob/text
-----------------------------
7.2 數值類型
整數類型 (工資 成績 年齡 身高 體重)
根據存儲數值的范圍又分為:
有符號 無符號
tinyint 微小整型 -128~127 0~255
smallint 小整型
MEDIUMINT 中整型
int (默認11字符)大整型 -2^31~~2^31-1 0~2^32-1
bigint 極大大整型
----------------------------
7.3 浮點型 (帶小數點的數)
float(m,n) 單精度
double(m,n) 雙精度
整數位.小數位 總位數
n 表示總位數
m 表小數位位數
decimal(M,D) 其中M為有效位數,D為小數位
***
注意):數值類型的寬度與字符類型寬度的區別?
***數值不夠指定寬度時,在左邊填空格補位
數值類型的寬度是顯示寬度,不能夠控制給字段賦值的大小,字段值的大小由字段類型決定。
1)zerofill 填0代替空格補位
2)unsigned 無符號(正數)
--------------------------
7.4.1 日期時間類型(生日 注冊時間 上課時間 約會 出生年份)
year (占用1字節)年 YYYY 2016
date (占用4字節)日期 YYYYMMDD 20161117
time (占用3字節)時間 HHMMSS 172358
datetime(占用8字節) 日期時間 YYYYMMDDHHMMSS
范圍:1000-01-01 ---> 9999-12-31
timestamp (占用4字節)日期時間 YYYYMMDDHHMMSS
范圍:1970-01-01 ---> 2038-01-19
練習:
mysql> create table t16(name char(10), age tinyint(2) zerofill unsigned, money float(7,2), s_year year, birthday date, up_class time, meeting datetime);
mysql> insert into t16 values("zhangbaoli",21,20000,1998,20161221,083000,20161218203000);
***
注意:
1):datetime 與 timestamp 的區別?
當未給TIMESTAMP字段賦值時,自動以當前系統時間賦值,而DATETIME字段默認賦值為 NULL.
2):year年份處理?
當只用2為數字賦值時,01-69視為2000~2069,而70-99視為1970~1999.
練習:
mysql> create table t17(time1 datetime,time2 timestamp);
mysql> insert into t17 values(20161117174928,20161117174928);
mysql> insert into t17(time1) values(20181117174929);
mysql> insert into t17(time2) values(20151117174929);
------------------------------
7.4.2 使用時間函數獲取時間給日期時間類型字段賦值?
now() 獲取調用此函數時的系統日期時間
year() 獲取年份
date() 獲取日期
month() 獲取月份
day() 獲取日期(幾號)
time() 獲取時間
sleep(N) 休眠N秒
sysdate() 獲取時間
curdate() 獲取當前系統時間
curtime() 獲取當前系統時刻
練習:
mysql> select now();
mysql> select year( now() );
mysql> select year( 20191224 );
mysql> select date( now() );
mysql> create table t15(name char(10),age tinyint(2) unsigned,pay float(7,2),up_class time,birthday date,s_year year,
meetting datetime);
mysql> insert into t15 values("lili",21,18800.88,093000,20171008,1995,now());
mysql> insert into t15 values("jerry",29,28800.88,now(),now(),now(),now());
mysql> insert into t15 values("tom",21,18800.88,time(20171224201818),date(20171224201818),year(now()),now());
------------------------------
7.5 枚舉類型 set enum(性別 愛好)字段的值只能在列舉的范
圍內選擇:
enum(值1,值2,值N) 只能在列舉的范圍內選擇一個值
set(值1,值2,值N) 能在列舉的范圍內選擇一個或多個值
練習:
mysql> create table t21(name char(10),age tinyint(2) unsigned,pay float(7,2),birthday date,sex enum("boy","girl","no"),likes set("book","film","game","it"));
mysql> insert into t21 values("bob",21,21000,20161118,"boy","book,it");
mysql> insert into t21 values("alic",23,11000,20161218,"man","book,it,football");
mysql> insert into t21 values("lucy",18,28000,20160918,2,"film,game");
================
約束條件:(限制如何給字段賦值)
作用:當向表中插入新記錄時,限制如何給字段賦值,若建表時不設置約束條件,使用mysql的默認設置。
null 允許賦null值 默認設置
not null 不允許賦null值
key 索引類型
default 設置默認值,缺省為null
字段額外設置 : 字段的值自動增長 字段描述信息
練習:
mysql> create table t24(name char(10) not null ,age tinyint(2) unsigned default 24 ,pay float(7,2) ,birthday date,sex enum("boy","girl","no") default "boy",likes set("book","film","game","it") default "film,game");
mysql> insert into t24 values(null,23,11000,20161218,"man","book,it");
mysql> insert into t24 values("null",23,11000,20161218,"man","book,it");
mysql> insert into t24 values("",23,11000,20161218,"man","book,it");
mysql> insert into t24(name,age) vlaues("lilei",29);
mysql> insert into t24(name,pay,birthday) values("jerry",12000,20161127);
mysql> insert into t24(name,age,pay,birthday) values("jerry",31,12000,20161127);
======================================================
對于以上關于管理MySQL數據庫基礎解析,如果大家還有更多需要了解的可以持續關注我們億速云的行業推新,如需獲取專業解答,可在官網聯系售前售后的,希望該文章可給大家帶來一定的知識更新。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。