您好,登錄后才能下訂單哦!
下文內容主要給大家帶來MySQL數據庫分類、系統函數、創建數據庫等詳解,這里所講到的知識,與書籍略有不同,都是億速云專業技術人員在與用戶接觸過程中,總結出來的,具有一定的經驗分享價值,希望給廣大讀者帶來幫助。
<--目錄-->
1)數據庫分類
2)系統函數
3)創建數據庫
4)選擇數據庫
5)數據類型
6)建表語句
7)插入數據
8)刪用戶刪數據刪庫表
9)修改表數據
10)查詢數據
11)用戶授權
12)show查看當前所有庫表、建庫表語句、用戶權限
13)desc查看表結構
14)復制表結構
15)字段增刪改
16)查看幫助
【數據庫分類】
在MySQL軟件中,數據庫可以分為系統數據庫和用戶數據庫兩大類
1、系統數據庫
系統數據庫是指裝完MySQL云服務器后,會附帶的一些數據,如下圖所示
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| ryzc_data |
| test |
+--------------------+
5 rows in set (0.00 sec)
information_schema: 主要存儲系統中的一些數據庫對像信息,如用戶信息,列信息,權限信息,字符集信息和分區 信息等
performance_schema: 主要存儲數據庫服務器性能參數
mysql:主要存儲系統的用戶權限信息
test:該數據庫為MySQL數據庫管理系統自動創建的測試數據庫,任何用戶都可以使用
2、用戶數據庫
用戶數據庫是用戶根據實際需求來創建的數據庫,如下圖,其中userdatabase數據庫屬于用戶數據庫
【系統函數】
version() #返回系統庫的版本號
databasee() #返回當前系統庫名
user() #返回當前用戶
#查詢多個
mysql> select user(),database(),version();
#查詢單個
mysql> select user();
【創建數據庫】
create database database_name
上述語句中database_name參數表示所要創建的數據庫的名字
mysql> create database databasetest;
Query OK, 1 row affected (0.00 sec)
Query OK:表示SQL語句執行成功
1 row affected :表示操作只影響了數據中一行的記錄
0.00 sec:表示操作執行的時間
create database wsyht_gbk default character set gbk collate gbk_chinese_ci; #創建庫wsyht_gbk并設置默認字符集gbk
create database wsyht_utf8 default character set utf8 collate utf8_general_ci; #同理指定utf8字符集
【選擇數據庫】
mysql> use mysql
【數據類型】
常用類型:
整數類型
int
浮點數類型
float
字符串類型
char
varchar
【建表語句】
#創建表stdent
id字段最少要填四位整數,不能位空
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
);
【插入數據】
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'); #插入兩個值
【刪用戶刪數據刪庫表】
#刪庫
drop database wsyht; #刪除wsyht數據庫
drop user 'root'@'localhost' #刪除系統多余賬號,刪除user表root用戶主機名為localhost
#刪用戶
delete from mysql.user where user='root' and host='localhost'; #刪除root用戶
flush privileges; #刪除用戶需要刷新權限
#刪表
drop table student;
#刪數據
delete from test where id=1; #刪除test表id號等于1的行
delete from test where id>3; #刪除test表id號等于3的行
delete from test; #刪除test表中的所有數據
truncate table test; #直接清空整個表,test是表名
truncate清空物理文件 delete邏輯清除按行刪
【修改表數據】
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
【查詢數據】
select *from student; #查詢表所有數據的值
select id, name from student; #查詢id name字段的值
select id,name from student limit 2; #只查詢id,name字段2行數據的值
select id,name from student where id=1; #條件查詢,查詢id=5的值
select id,name from student where name='tom'; #字符患查詢要加引號
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; #范圍內查詢
select id,name from student order by id; #排序id列,不加默認正向排序
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列倒序排序
【用戶授權】
#用戶授權之后需要flush privileges刷新權限
grant all on db1.* to wsyht@localhost identified by 'wsyht'; #授權用戶,主機指客戶端登陸的主機,這里寫localhost允許在本機登陸
grant all privileges on *.* to peter@localhost identified by 'peter'; #或這樣授權用戶,創建用戶和授權一起操作
create user wsyht@localhost identified by 'wsyht'; #先創建用戶(語句詳情意思可看MySQL簡介文檔)
grant all on *.* to wsyht@localhost; #再授權用戶
create user wsyht@'10.0.0.%' identified by 'wsyht'; #創建遠程登陸賬戶
grant all on *.* to wsyht@'10.0.0.%' identified by 'wsyht'; #創建并授權遠程登陸賬戶法1
grant all on *.* to test@'10.0.0.0/255.255.255.0' identified by 'test123'; #創建并授權遠程登陸賬戶法2
revoke insert on *.* from wsyht@localhost; #去除他所有庫和所有表的insert權限,要先查看他對哪個庫和哪個表有權限,然后再對他授權的庫和表進行去除權限操作
revoke all privileges,grant option from 'wsyht@localhost'; #回收用戶的所有權限
【show查看信息】
#查看當前所有庫
show databases; #顯示所有數據庫
show databases like '%wsyht%'; #顯示所有含有wsyht名字的庫
#查看庫中的所有表
show tables from d1; #顯示d1庫有多少表
show tables; #顯示當前庫中所有的表
#查看建庫建表語句
show create database wsyht_utf8; #顯示創建的數據庫的字符集
show create database wsyht_gbk\G; #加\G換行顯示,不用加分號,查看已建庫的語句
show create table student\G; #查看已建表的語句
#查看權限
show grants for wsyht@localhost; #查看權限
GRANT SELECT ON *.* TO 'wsyht'@'%' IDENTIFIED BY PASSWORD '123456' #授權wsyht只讀權限
【desc查看表結構】
use wsyht #進入wsyht庫
desc student; #查看student表結構
【復制表結構】
create table 新表 select *from 舊表 #復制舊表的表結構及舊表的數據到新表
create table 新表 select *from 舊表 where 1=2 #只復制舊表的表結構到新表
insert into 新表 select * from 舊表 #復制舊表的數據到新表(假設兩個表結構一樣)
insert into 新表 字段1,字段2,....... select 字段1,字段2,...... from 舊表 #復制舊表的數據到新表(假設兩 個表結構不一樣)
【字段增刪改】
#增字段
alter table test add sex char(4); #在test表添加字段sex,默認添加在最后一行
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兩個字段
#改字段
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; #同時修改字段名和屬性,字段名改為ages,屬性改為varchar(40)
#修改字段順序
alter table t1 modify 屬性名1 數據類型 first | after 屬性名2
上述語句中,t1參數表示所要修改表的名字,“屬性名1”參數表示所要調整順序的字段名,“first”參數表示要將參數調整到表的第一個位置,“after 屬性名2”參數表示將字段調整到屬性名2字段位置之后
alter table t1 modify ages varchar(40) first #把ages字段放到第一位
alter table AS_DbSource change BackupIPs BackupIPs varchar(45) after IPs;
把BackupIPs字段設置在IPs字段后面
#刪字段
alter table t1 drop deptno; #刪除deptno字段
alter table t1 drop column age,drop column name; #連續刪除age和name兩個字段
【help查看幫助】
mysql> help show
mysql> help select
mysql> help alter
mysql> help insert
mysql> help update
對于以上關于MySQL數據庫分類、系統函數、創建數據庫等詳解,如果大家還有更多需要了解的可以持續關注我們億速云的行業推新,如需獲取專業解答,可在官網聯系售前售后的,希望該文章可給大家帶來一定的知識更新。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。