溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》
  • 首頁 > 
  • 教程 > 
  • 數(shù)據(jù)庫 > 
  • MySQL數(shù)據(jù)庫分類、系統(tǒng)函數(shù)、創(chuàng)建數(shù)據(jù)庫等詳解

MySQL數(shù)據(jù)庫分類、系統(tǒng)函數(shù)、創(chuàng)建數(shù)據(jù)庫等詳解

發(fā)布時(shí)間:2020-04-26 14:59:10 來源:億速云 閱讀:396 作者:三月 欄目:數(shù)據(jù)庫

下文內(nèi)容主要給大家?guī)?a title="MySQL" target="_blank" href="http://www.kemok4.com/mysql/">MySQL數(shù)據(jù)庫分類、系統(tǒng)函數(shù)、創(chuàng)建數(shù)據(jù)庫等詳解,這里所講到的知識(shí),與書籍略有不同,都是億速云專業(yè)技術(shù)人員在與用戶接觸過程中,總結(jié)出來的,具有一定的經(jīng)驗(yàn)分享價(jià)值,希望給廣大讀者帶來幫助。

<--目錄-->

1)數(shù)據(jù)庫分類

2)系統(tǒng)函數(shù)

3)創(chuàng)建數(shù)據(jù)庫

4)選擇數(shù)據(jù)庫

5)數(shù)據(jù)類型

6)建表語句

7)插入數(shù)據(jù)

8)刪用戶刪數(shù)據(jù)刪庫表

9)修改表數(shù)據(jù)

10)查詢數(shù)據(jù)

11)用戶授權(quán)

12)show查看當(dāng)前所有庫表、建庫表語句、用戶權(quán)限

13)desc查看表結(jié)構(gòu)

14)復(fù)制表結(jié)構(gòu)

15)字段增刪改

16)查看幫助

MySQL數(shù)據(jù)庫分類、系統(tǒng)函數(shù)、創(chuàng)建數(shù)據(jù)庫等詳解

【數(shù)據(jù)庫分類】

在MySQL軟件中,數(shù)據(jù)庫可以分為系統(tǒng)數(shù)據(jù)庫和用戶數(shù)據(jù)庫兩大類

1、系統(tǒng)數(shù)據(jù)庫

   系統(tǒng)數(shù)據(jù)庫是指裝完MySQL云服務(wù)器后,會(huì)附帶的一些數(shù)據(jù),如下圖所示

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| ryzc_data          |

| test               |

+--------------------+

5 rows in set (0.00 sec)

information_schema: 主要存儲(chǔ)系統(tǒng)中的一些數(shù)據(jù)庫對(duì)像信息,如用戶信息,列信息,權(quán)限信息,字符集信息和分區(qū)                     信息等

performance_schema: 主要存儲(chǔ)數(shù)據(jù)庫服務(wù)器性能參數(shù)

mysql:主要存儲(chǔ)系統(tǒng)的用戶權(quán)限信息

test:該數(shù)據(jù)庫為MySQL數(shù)據(jù)庫管理系統(tǒng)自動(dòng)創(chuàng)建的測(cè)試數(shù)據(jù)庫,任何用戶都可以使用


2、用戶數(shù)據(jù)庫

   用戶數(shù)據(jù)庫是用戶根據(jù)實(shí)際需求來創(chuàng)建的數(shù)據(jù)庫,如下圖,其中userdatabase數(shù)據(jù)庫屬于用戶數(shù)據(jù)庫


【系統(tǒng)函數(shù)】

version()   #返回系統(tǒng)庫的版本號(hào)

databasee()  #返回當(dāng)前系統(tǒng)庫名

user()  #返回當(dāng)前用戶


#查詢多個(gè)

mysql> select user(),database(),version();


#查詢單個(gè)

mysql> select user();


【創(chuàng)建數(shù)據(jù)庫】

create database database_name

上述語句中database_name參數(shù)表示所要?jiǎng)?chuàng)建的數(shù)據(jù)庫的名字


mysql> create database databasetest;

Query OK, 1 row affected (0.00 sec)


Query OK:表示SQL語句執(zhí)行成功

1 row affected :表示操作只影響了數(shù)據(jù)中一行的記錄

0.00 sec:表示操作執(zhí)行的時(shí)間


create database wsyht_gbk default character set gbk collate gbk_chinese_ci;  #創(chuàng)建庫wsyht_gbk并設(shè)置默認(rèn)字符集gbk

create database wsyht_utf8 default character set utf8 collate utf8_general_ci; #同理指定utf8字符集


【選擇數(shù)據(jù)庫】

mysql> use mysql


【數(shù)據(jù)類型】

常用類型:

整數(shù)類型

int


浮點(diǎn)數(shù)類型

float


字符串類型

char

varchar


【建表語句】

#創(chuàng)建表stdent

id字段最少要填四位整數(shù),不能位空

name字段為字符串,最少填20位,不能為空


use wsyht

create table student(

id int(4) not null,

name char(20) not null,

age tinyint(2) NOT NULL default '0',

dept varchar(16) default NULL

);


【插入數(shù)據(jù)】

insert into student(id,name) values(1,'wsyht');

insert into student values(4,'jack',25,'abc');  #按照順序插值

insert into student values(5,'dock',25,'abc'),(6,'tom',26,'cad');  #插入兩個(gè)值


【刪用戶刪數(shù)據(jù)刪庫表】

#刪庫

drop database wsyht; #刪除wsyht數(shù)據(jù)庫

drop user 'root'@'localhost'   #刪除系統(tǒng)多余賬號(hào),刪除user表root用戶主機(jī)名為localhost


#刪用戶

delete from mysql.user where user='root' and host='localhost';   #刪除root用戶

flush privileges; #刪除用戶需要刷新權(quán)限


#刪表

drop table student; 


#刪數(shù)據(jù)

delete from test where id=1;  #刪除test表id號(hào)等于1的行

delete from test where id>3;  #刪除test表id號(hào)等于3的行

delete from test; #刪除test表中的所有數(shù)據(jù)

truncate table test;  #直接清空整個(gè)表,test是表名

truncate清空物理文件  delete邏輯清除按行刪


【修改表數(shù)據(jù)】

update t1 set name='jack' where id=1; #更新表t1的name字段為jack,條件為id=1

rename table test to t1; #把test表改名為t1; 

alter table t1 rename to test; 把t1表改名為test


【查詢數(shù)據(jù)】

select *from student; #查詢表所有數(shù)據(jù)的值

select id, name from student;  #查詢id name字段的值 

select id,name from student limit 2; #只查詢id,name字段2行數(shù)據(jù)的值 

select id,name from student where id=1; #條件查詢,查詢id=5的值

select id,name from student where name='tom'; #字符患查詢要加引號(hào)

select id,name from student where name='tom' and id='6'; #兩邊都要成立

select id,name from student where name='tom' or id='8';  #一邊成立即可

select id,name from student where id>3 and id<6;  #范圍內(nèi)查詢

select id,name from student order by id; #排序id列,不加默認(rèn)正向排序

select id,name from student order by id asc; #排序id列,加asc正向排序

select id,name from student order by id desc; #排序id列,加desc反向排序,需要指定列

select user,host,password from mysql.user order by user asc;   #user列升序排序

select user,host,password from mysql.user order by user desc;  #user列倒序排序


【用戶授權(quán)】

#用戶授權(quán)之后需要flush privileges刷新權(quán)限

grant all on db1.* to wsyht@localhost identified by 'wsyht'; #授權(quán)用戶,主機(jī)指客戶端登陸的主機(jī),這里寫localhost允許在本機(jī)登陸

grant all privileges on *.* to peter@localhost identified by 'peter';  #或這樣授權(quán)用戶,創(chuàng)建用戶和授權(quán)一起操作

create user wsyht@localhost identified by 'wsyht'; #先創(chuàng)建用戶(語句詳情意思可看MySQL簡(jiǎn)介文檔)

grant all on *.* to wsyht@localhost;  #再授權(quán)用戶

create user wsyht@'10.0.0.%' identified by 'wsyht';   #創(chuàng)建遠(yuǎn)程登陸賬戶

grant all on *.* to wsyht@'10.0.0.%' identified by 'wsyht';  #創(chuàng)建并授權(quán)遠(yuǎn)程登陸賬戶法1

grant all on *.* to test@'10.0.0.0/255.255.255.0' identified by 'test123';  #創(chuàng)建并授權(quán)遠(yuǎn)程登陸賬戶法2

revoke insert on *.* from wsyht@localhost; #去除他所有庫和所有表的insert權(quán)限,要先查看他對(duì)哪個(gè)庫和哪個(gè)表有權(quán)限,然后再對(duì)他授權(quán)的庫和表進(jìn)行去除權(quán)限操作

revoke all privileges,grant option from 'wsyht@localhost'; #回收用戶的所有權(quán)限


【show查看信息】

#查看當(dāng)前所有庫

show databases;  #顯示所有數(shù)據(jù)庫

show databases like '%wsyht%';  #顯示所有含有wsyht名字的庫


#查看庫中的所有表

show tables from d1; #顯示d1庫有多少表

show tables;  #顯示當(dāng)前庫中所有的表


#查看建庫建表語句

show create database wsyht_utf8;   #顯示創(chuàng)建的數(shù)據(jù)庫的字符集

show create database wsyht_gbk\G;   #加\G換行顯示,不用加分號(hào),查看已建庫的語句

show create table student\G;  #查看已建表的語句


#查看權(quán)限

show grants for wsyht@localhost;  #查看權(quán)限

GRANT SELECT ON *.* TO 'wsyht'@'%' IDENTIFIED BY PASSWORD '123456' #授權(quán)wsyht只讀權(quán)限


【desc查看表結(jié)構(gòu)】

use wsyht     #進(jìn)入wsyht庫

desc student;  #查看student表結(jié)構(gòu)


【復(fù)制表結(jié)構(gòu)】

create table 新表 select *from 舊表   #復(fù)制舊表的表結(jié)構(gòu)及舊表的數(shù)據(jù)到新表

create table 新表 select *from 舊表 where 1=2 #只復(fù)制舊表的表結(jié)構(gòu)到新表

insert into 新表 select * from 舊表 #復(fù)制舊表的數(shù)據(jù)到新表(假設(shè)兩個(gè)表結(jié)構(gòu)一樣)

insert into 新表 字段1,字段2,....... select 字段1,字段2,...... from 舊表 #復(fù)制舊表的數(shù)據(jù)到新表(假設(shè)兩                                                                           個(gè)表結(jié)構(gòu)不一樣)


【字段增刪改】

#增字段

alter table test add sex char(4);  #在test表添加字段sex,默認(rèn)添加在最后一行

alter table test add qq varchar(15) first;  #在第一行添加字段qq

alter table test add age int(3) after name;  #在test表name字段后面添加age字段

alter table t1 add age int (3),add name varchar(11);  #增加表中age和name兩個(gè)字段


#改字段

alter table t1 modify deptno varchar(20); #更改deptno字段屬性為varchar(20)

alter table t1 change age ages varchar(20) not null; #只更改表中age字段名為ages;

alter table t1 change age ages varchar(40) not null; #同時(shí)修改字段名和屬性,字段名改為ages,屬性改為varchar(40)


#修改字段順序

alter table t1 modify 屬性名1 數(shù)據(jù)類型 first | after 屬性名2

上述語句中,t1參數(shù)表示所要修改表的名字,“屬性名1”參數(shù)表示所要調(diào)整順序的字段名,“first”參數(shù)表示要將參數(shù)調(diào)整到表的第一個(gè)位置,“after 屬性名2”參數(shù)表示將字段調(diào)整到屬性名2字段位置之后


alter table t1 modify ages varchar(40) first  #把a(bǔ)ges字段放到第一位

alter table AS_DbSource change BackupIPs BackupIPs varchar(45) after IPs;

把BackupIPs字段設(shè)置在IPs字段后面


#刪字段

alter table t1 drop deptno;  #刪除deptno字段

alter table t1 drop column age,drop column name;  #連續(xù)刪除age和name兩個(gè)字段


【help查看幫助】

mysql> help show

mysql> help select

mysql> help alter

mysql> help insert

mysql> help update

對(duì)于以上關(guān)于MySQL數(shù)據(jù)庫分類、系統(tǒng)函數(shù)、創(chuàng)建數(shù)據(jù)庫等詳解,如果大家還有更多需要了解的可以持續(xù)關(guān)注我們億速云的行業(yè)推新,如需獲取專業(yè)解答,可在官網(wǎng)聯(lián)系售前售后的,希望該文章可給大家?guī)硪欢ǖ闹R(shí)更新。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI