MySQL數據庫管理

1.3 搭建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


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