下文內容主要給大家?guī)砉芾鞰ySQL數(shù)據庫基礎解析,這里所講到的知識,與書籍略有不同,都是創(chuàng)新互聯(lián)專業(yè)技術人員在與用戶接觸過程中,總結出來的,具有一定的經驗分享價值,希望給廣大讀者帶來幫助。
創(chuàng)新互聯(lián)公司是一家集網站建設,富平企業(yè)網站建設,富平品牌網站建設,網站定制,富平網站建設報價,網絡營銷,網絡優(yōu)化,富平網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。
MySQL數(shù)據庫
============
MySQL (RHEL5/6)
MariaDB ( RHEL7 )
數(shù)據遷移 mysql ---> MariaDB
-------------------------
1.MySQL數(shù)據庫服務安裝:
# rpm -q mysql-server || yum -y install mysql-server
# service mysqld status |start|stop
# chkconfig mysqld on
2.主配置文件:/etc/my.cnf
服務名/進程名: mysqld
進程所有者/組: mysql/mysql
默認監(jiān)聽端口號:3306
傳輸協(xié)議:tcp
數(shù)據庫目錄:/var/lib/mysql/
==============
3.安裝官網下載的mysql軟件提供數(shù)據庫服務
# /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"); //首次進入數(shù)據庫需要更改密碼
mysql>quit;
# mysql -hlocalhost -uroot -p123
mysql>show databases;
===============
4.把數(shù)據存儲到數(shù)據庫云服務器上的過程?
4.1 連接數(shù)據庫服務器 mysql -hlocalhost -uroot -p123
4.2 選擇庫 use 庫名;
4.3 創(chuàng)建表 create table ...
4.4 向表中插入記錄 insert into ...
4.5 查詢記錄
4.6 斷開連接 quit
-------------------------------
**數(shù)據以文件的形式存儲在數(shù)據庫目錄下
**庫或表都是以文件的形式存儲在數(shù)據庫目錄下的
===============
5.數(shù)據庫服務的基本使用?
SQL命令使用規(guī)則:
命令不區(qū)分字母大小寫,
\c 可廢棄當前編寫錯的操作
命令必須以;結尾
命令不支持tab鍵補齊
庫名的命名規(guī)則:
具有唯一性
區(qū)分字母大小寫
只能使用數(shù)字、字母 _
不能是純數(shù)字
不要使用特殊字符和關鍵字?* .
===============
6.數(shù)據庫管理基本命令:
# mysql [-h服務器 -u用戶名 -p密碼 數(shù)據庫]
# quit 或 exit 退出
show databases; //查看服務器上已有的庫
select database(); //查看當前所在的庫
show tables; //顯示當前所在庫下已有的表
select * from 表名; //查看表所有的記錄
select 字段名列表 from 表名; //查看表記錄
desc 表名; //查看表結構
use 庫名; //切換庫
create database 庫名; //創(chuàng)建新數(shù)據庫
create table [庫名.]表名(
字段名 類型(寬度) 約束條件,
字段名 類型(寬度) 約束條件,
字段名 類型(寬度) 約束條件
); //創(chuàng)建表
insert into 表名 values(); //向表中插入記錄
drop database 庫名; //刪除已有的庫
drop table 表名; //刪除表
delete from 表名; //刪除表中的所有記錄
===============
7.mysql數(shù)據庫類型
字符類型 (名字 專業(yè) 家庭地址)
數(shù)值類型 (工資 成績 年齡 身高 體重)
日期時間類型 (生日 注冊時間 上課時間 約會 出生年份)
枚舉類型 set enum(性別 愛好 )字段的值只能在列舉的范
7.1 字符型(名字 專業(yè) 家庭地址)
char 定長 255
varchar 變長 65532 //根據存儲數(shù)據的多少開辟存儲空間
大文本類型 大于65535時使用
blob/text
-----------------------------
7.2 數(shù)值類型
整數(shù)類型 (工資 成績 年齡 身高 體重)
根據存儲數(shù)值的范圍又分為:
有符號 無符號
tinyint 微小整型 -128~127 0~255
smallint 小整型
MEDIUMINT 中整型
int (默認11字符)大整型 -2^31~~2^31-1 0~2^32-1
bigint 極大大整型
----------------------------
7.3 浮點型 (帶小數(shù)點的數(shù))
float(m,n) 單精度
double(m,n) 雙精度
整數(shù)位.小數(shù)位 總位數(shù)
n 表示總位數(shù)
m 表小數(shù)位位數(shù)
decimal(M,D) 其中M為有效位數(shù),D為小數(shù)位
***
注意):數(shù)值類型的寬度與字符類型寬度的區(qū)別?
***數(shù)值不夠指定寬度時,在左邊填空格補位
數(shù)值類型的寬度是顯示寬度,不能夠控制給字段賦值的大小,字段值的大小由字段類型決定。
1)zerofill 填0代替空格補位
2)unsigned 無符號(正數(shù))
--------------------------
7.4.1 日期時間類型(生日 注冊時間 上課時間 約會 出生年份)
year (占用1字節(jié))年 YYYY 2016
date (占用4字節(jié))日期 YYYYMMDD 20161117
time (占用3字節(jié))時間 HHMMSS 172358
datetime(占用8字節(jié)) 日期時間 YYYYMMDDHHMMSS
范圍:1000-01-01 ---> 9999-12-31
timestamp (占用4字節(jié))日期時間 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 的區(qū)別?
當未給TIMESTAMP字段賦值時,自動以當前系統(tǒng)時間賦值,而DATETIME字段默認賦值為 NULL.
2):year年份處理?
當只用2為數(shù)字賦值時,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 使用時間函數(shù)獲取時間給日期時間類型字段賦值?
now() 獲取調用此函數(shù)時的系統(tǒng)日期時間
year() 獲取年份
date() 獲取日期
month() 獲取月份
day() 獲取日期(幾號)
time() 獲取時間
sleep(N) 休眠N秒
sysdate() 獲取時間
curdate() 獲取當前系統(tǒng)時間
curtime() 獲取當前系統(tǒng)時刻
練習:
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數(shù)據庫基礎解析,如果大家還有更多需要了解的可以持續(xù)關注我們創(chuàng)新互聯(lián)的行業(yè)推新,如需獲取專業(yè)解答,可在官網聯(lián)系售前售后的,希望該文章可給大家?guī)硪欢ǖ闹R更新。
當前名稱:管理MySQL數(shù)據庫基礎解析
分享網址:http://www.rwnh.cn/article8/jipiip.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站設計公司、自適應網站、虛擬主機、服務器托管、標簽優(yōu)化、搜索引擎優(yōu)化
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)