MySQL數據庫管理
密碼為123456
a 購買服務器(存儲 CPU 內存) DELL HP 聯想
b 安裝操作系統RHEL7.2
c 安裝提供數據庫服務的軟件包(mysql)
# rpm -qa | grep -i mariadb
# rpm -e --nodeps mariadb-libs
# rpm -qa | grep -i mariadb
#rm -rf /etc/my.cnf
#yum -y install perl-Data-Dumper perl-JSON
# tar -xvf xxxx.tar
# rm -rf mysql-community-server-minimal-5.7.17-
1.el7.x86_64.rpm
#rpm -Uvh mysql-community-*.rpm
#rpm -qa | grep -i mysql
#systemctl start mysqld
#systemctl status mysqld
#systemctl enable mysqld
服務名 mysqld
進程名 mysqld
進程的所有者/組 mysql/mysql
數據傳輸協議 tcp
端口號 3306
主配置文件 /etc/my.cnf
數據庫目錄 /var/lib/mysql
日誌文件 /var/log/mysqld.log
客戶端訪問數據庫服務器(命令行 圖形工具)
*沒有授權時,只允許數據庫管理員root用戶從本機訪問
#mysql -hlocalhost -uroot -p密碼
[root@localhost ~]# grep -i "password"
/var/log/mysqld.log
2017-06-19T02:07:11.746572Z 1 [Note] A temporary
password is generated for root@localhost: *?F(sfa;M3jy
[root@localhost ~]#
[root@localhost ~]# mysql -hlocalhost -uroot -p"*?F
(sfa;M3jy"
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=6;
mysql> alter user root@"localhost" identified by
"123456";
mysql>quit
[root@localhost ~]# mysql -hlocalhost -uroot -
p123456
mysql> show databases;
mysql>quit
vim /etc/my.cnf
[mysqld]
validate_password_policy=0
validate_password_length=6
:wq
# systemctl restart mysqld
#mysql -hlocalhost -uroot -p123456
mysql>
數據庫服務通常和網站服務一起使用。LAMP LNMP
購物網站 遊戲網站 論壇網站 金融網站 php java html css
數據庫存儲那些數據?註冊帳號和密碼
購物信息
儲蓄信息
帖子內容
1.4 數據庫服務的基本使用
把數據存儲到數據庫服務器上的過程?
1 連接數據庫服務器
mysql -hlocalhost -uroot -p123456
2 創建新庫 (文件夾)
3 創建表(文件)
4 向表中插入記錄
5 查看記錄
6 斷開連接
SQL命令使用規則?
每條命令必須以;結尾
命令不區分字母大小寫
\c 結束命令
管理庫的相關命令
show databases;
create database 庫名;
select database();
use 庫名;
show tables;
drop database 庫名;
管理表的相關命令
create table 表名(字段名 類型(寬度),字段名 類型(寬
度));
mysql> create table regtab(name char(10),password
char(6));
desc 表名;
desc regtab;
帳號名 密碼
plj 123456 記錄
jim 654331
tom 111199
insert into regtab values("plj","123456"),
("jim","654321"),("tom","111199");
select * from 表名
select * from regtab;
delete from 表名;
delete from regtab;
drop table 表名;
drop table regtab;
表名和庫名的命名規則?
具有唯一
區分字母大小寫
使用數字 字母 _ 命名 、不允許是純數字
不允許使用特殊符號 和 命令關鍵字
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
mysql數據類型
字符類型 姓名 家庭地址 籍貫
char 255 定長
varchar 65532 變長
大文本類型
text
blob
create database studb;
use studb;
create table t1(
name char(10),
homeaddr varchar(50)
);
insert into t1 values("lucy","beijing");
select * from t1;
create table t2(image blob,name text);
t1 t2
name name
char(10) varchar(10)
a abc
數值類型 : 年齡 成績 身高 體重 工資
11 12.23
+11 -19.23
-12
整型 (根據存儲數字的範圍又 劃分為如下類型)
有符號 無符號
tinyint -128~127 0-255
smallint
MEDIUMINT
int
bigint
create table t5(name char(10) ,age tinyint
unsigned);
create table t6(name char(10) ,age tinyint ,level
tinyint);
create table t7(name char(10) ,age tinyint
unsigned,level tinyint);
insert into t7 values("jim",-11,101);
數值類型的寬度 是顯示寬度,不能夠控制給字段賦值,字段值的
大小由類型決定。
create table t8(name char(3),level int(3));
insert into t8 values("lucy",10224);
create table t12 (id int(2) zerofill,level int zerofill);
insert into t12 values(9,7);
浮點型 (能存儲帶小數點的數) 19.23 21.75
float
double
整數.小數
1023.88
xxx.xx
999.99
-999.99
float(5,2)
create table t13 (name char(10),age tinyint(2)
unsigned,pay float(7,2));
insert into t13 values("bob",21,18800.23);
insert into t13 values("tom",29,118800.23);
+++++++++++++++++++++++++++++++
日期時間類型 註冊時間 上課時間 開會時間 生日 入職
年 year YYYY 2017
日期date YYYYMMDD 20170619
時間time HHMMSS 160258
日期時間類型YYYYMMDDHHMMSS 20170619160258
datetime
timestamp
create table t14 (
name char(10),
age tinyint(2) unsigned,
pay float(7,2),
s_year year,
birthday date,
up_class time,
meetting datetime
);
insert into t14 values
("bob",21,18800,1990,20170818,083000,20170707204
523);
使用時間函數給日期時間類型字段賦值
now()
year()
date()
month()
day()
time()
insert into t14 values("lilei",21,18800,year(now
()),date(now()),time(20150718231458),now());
insert into t14 values("hanmm",21,18800,now(),now
(),now(),now());
使用2位數字給year字段賦值,要遵循如下規律?
01-69 20XX
70-99 19XX
00 0000
100 報錯
insert into t14 values("lee",21,18800,69,now(),now
(),now());
datetime與timestamp 的區別?
create table t15(
meetting datetime,
partty timestamp
);
insert into t15 values(now(),now());
insert into t15(meetting) values(20171020091828);
insert into t15(partty) values(20191020091828);
select * from t15;
+++++++++++++++++++++++++
枚舉類型 性別 專業 科目 愛好
(字段值只能在列舉的範圍內選擇)
enum(值列表) 單選
set (值列表) 多選
create table t16 (
name char(10),
age tinyint(2) unsigned,
sex enum("boy","girl","no"),
likes set("it","book","film","game")
);
insert into t16 values("bob",21,"boy","it,game");
insert into t16 values("jim",21,"no","music,game");
insert into t16 values("jerry",21,2,"it,game")
mysql> desc mysql.user;
mysql> desc mysql.tables_priv;
字段約束條件:功能限制如何給字段賦值
Null 字段是否允許賦null值 空 默認允許賦null值
Key 索引
Default 字段的默認值,默認值的值是null
不給字段賦值值使用默認值給字段賦值
default 值
Extra 額外設置(自動增長)
create table t17 (
name char(10) not null ,
age tinyint(2) unsigned default 22 ,
sex enum("boy","girl","no") not null default "boy",
likes set("it","book","film","game") default "it,book"
);
insert into t17(name) values("bob");
insert into t17 values("jim",29,"no","film,game");
insert into t17 values("",NULL,"boy",NULL);
insert into t17 values("NULL",NULL,"boy",NULL);
insert into t17 values(null,NULL,"boy",NULL);
在ip地址是 192.168.4.101上部署數據庫服務並設置數據庫管理員的密碼是abc123 創建studb庫 創建存儲學生信息的表stuinfo
MySQL數據庫管理