溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL 數(shù)據(jù)庫的基本使用

發(fā)布時間:2020-03-01 20:30:48 來源:網(wǎng)絡(luò) 閱讀:223 作者:時間king 欄目:MySQL數(shù)據(jù)庫
  MySQL 是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典 MySQL AB 公司開發(fā),而MySQL AB 公司被 Oracle 公司收購,故 MySQL 現(xiàn)在屬于 Oracle 公司。MySQL 是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就增加了速度并提高了靈活性。
  MySQL 是開源的,所以你可以免費(fèi)使用它。
  MySQL 支持大型的數(shù)據(jù)庫,可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫。但是根據(jù)實(shí)際生產(chǎn)經(jīng)驗(yàn),當(dāng)單表的數(shù)據(jù)量達(dá)到三千萬之后,數(shù)據(jù)庫性能急劇下降,甚至整個數(shù)據(jù)庫都癱瘓了,登錄不上。
  MySQL 使用標(biāo)準(zhǔn)的 SQL 數(shù)據(jù)語言形式,結(jié)構(gòu)化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的編程語言,是一種數(shù)據(jù)庫查詢和程序設(shè)計(jì)語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng);同時也是數(shù)據(jù)庫腳本文件的擴(kuò)展名。
  MySQL 安裝好了之后,就可以登錄使用了。最主要就是使用 SQL 進(jìn)行增刪改查的操作。

1、查看數(shù)據(jù)庫
\ # mysql -u root -p'P@ssw0rd'

MySQL 數(shù)據(jù)庫的基本使用

mysql> show databases;

2、切換數(shù)據(jù)庫
mysql> use mysql;
MySQL 數(shù)據(jù)庫的基本使用

注意:
1:information_schema # 這個數(shù)據(jù)庫保存了 MySQL 服務(wù)器所有數(shù)據(jù)庫的信息。如數(shù)據(jù)庫名,數(shù)據(jù)庫的表,表欄的數(shù)據(jù)類型不訪問權(quán)限等。
2:performance_schema # MySQL 5.5開始新增一個數(shù)據(jù)庫:PERFORMANCE_SCHEMA,主要用于收集數(shù)據(jù)庫服務(wù)器性能參數(shù)。并且?guī)炖锉淼拇鎯σ婢鶠?PERFORMANCE_SCHEMA,而用戶是不能創(chuàng)建存儲引擎為 PERFORMANCE_SCHEMA 的表。
3:mysql 庫是系統(tǒng)庫,里面保存有賬戶信息,權(quán)限信息等。
4:mysql5.7 增加了sys 系統(tǒng)數(shù)據(jù)庫,通過這個庫可以快速的了解系統(tǒng)的元數(shù)據(jù)信息。元數(shù)據(jù)是關(guān)于數(shù)據(jù)信息的數(shù)據(jù),如數(shù)據(jù)庫名或表名,列的數(shù)據(jù)類型,或訪問權(quán)限等。

3、創(chuàng)建數(shù)據(jù)庫
語法:create database 數(shù)據(jù)庫名;

創(chuàng)建數(shù)據(jù)庫注意事項(xiàng):
1、在文件系統(tǒng)中,MySQL 的數(shù)據(jù)存儲區(qū)將以目錄方式表示 MySQL 數(shù)據(jù)庫。因此,上面命令中的數(shù)據(jù)庫名字必須與操作系統(tǒng)的約束的目錄名字一致。例如不允許文件和目錄名中有 \,/,:,*,?,”,<,>,| 這些符號,在 MySQL 數(shù)據(jù)庫名字中這些字母會被自動刪除。<遵從目錄的約束>
2、數(shù)據(jù)庫的名字不能超過64個字符,包含特殊字符的名字或者是全部由數(shù)字或保留字組成的名字必須用反引號``包起來。
3、數(shù)據(jù)庫不能重名。
MySQL 數(shù)據(jù)庫的基本使用

mysql> create databases 'YF-test'; # 使用單引號,建庫失敗
mysql> create databases YF-test; # 使用反引號,建庫成功

\ # ls /var/lib/mysql/ #查看數(shù)據(jù)庫存放目錄

4、查看自己所處的位置及默認(rèn)所在的位置

mysql> select database();
+------------+
| database() |
+------------+
| NULL |
+------------+
1 row in set (0.00 sec)

如果什么數(shù)據(jù)庫也沒有選擇,默認(rèn)顯示的是NULL,Null意味著沒有選擇數(shù)據(jù)庫

mysql> use mysql;
Database changed
mysql> select database();
+------------+
| database() |
+------------+
| mysql |
+------------+
1 row in set (0.00 sec)

5、刪除數(shù)據(jù)庫
刪除數(shù)據(jù)庫沒有任何提示,要慎重操作;最好操作的時候,旁邊有人看著你操作。
方法1:mysql> drop database create;
方法2:直接到數(shù)據(jù)庫存放目錄移出就行。
MySQL 數(shù)據(jù)庫的基本使用

6、查看庫有哪些表,查看表,要進(jìn)入到數(shù)據(jù)庫再查看
MySQL 數(shù)據(jù)庫的基本使用

7、創(chuàng)建表:
語法:create table 表名 (字段名 類型, 字段名 類型, 字段名 類型);
mysql> create database test;
mysql> use test;
mysql> create table student(id int(20),name char(40),age int);

8、查看表的結(jié)構(gòu)
MySQL 數(shù)據(jù)庫的基本使用

9、刪除表
mysql> drop table student;

10、修改表名稱alter
語法:alter table 表名 rename 新表名;
MySQL 數(shù)據(jù)庫的基本使用

11、修改表中的字段類型
語法:alter table 表名 modify 要修改的字段名 要修改的類型;
mysql> alter table students modify id int(10);
MySQL 數(shù)據(jù)庫的基本使用

12、修改表中的字段類型和字段名稱
語法:alter table 表名 change 原字段名 新字段名 新字段類型;
注意:mysql 不支持同時修改多個字段,
MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name]
MySQL 數(shù)據(jù)庫的基本使用
注:CHANGE 和MODIFY的區(qū)別:
CHANGE 對列進(jìn)行重命名和更改列的類型,需給定舊的列名稱和新的列名稱、當(dāng)前的類型。MODIFY 可以改變列的類型,此時不需要重命名(不需給定新的列名稱)。

13、在表中添加字段
語法:alter table 表名 add 字段名 字段類型;
mysql> alter table students add sex enum('M','W');
MySQL 數(shù)據(jù)庫的基本使用

14、指定位置添加字段,在第一列添加一個字段
mysql> alter table students add uid int(10) first;
MySQL 數(shù)據(jù)庫的基本使用
mysql> alter table students add address char(40) after age;
MySQL 數(shù)據(jù)庫的基本使用

15、刪除表中字段:
語法:alter table 表名 drop 字段名 ;
mysql> alter table students drop address;
MySQL 數(shù)據(jù)庫的基本使用

16、插入字段<記錄>insert
語法:insert into 表名values (字段值1,字段值2, 字段值3);
mysql> create table student(id int(20),name char(40),age int);
mysql> insert into student values(1,'zhangs',21);

插入記錄時要對應(yīng)相對的類型
mysql> insert into student values(2,'lis',24),(3,'wange',26);

同時插入多條,使用,分開
mysql> insert into student (id,name)values(4,'hangl');

17、查詢表中記錄:
語法:select from 表名稱;
mysql> select
from student; # *表示所有

當(dāng)字段比較多的時候我們也可以使用\G
mysql> select * from student\G

只查詢表中某個字段的內(nèi)容:
mysql> select name from student;

18、查看別的數(shù)據(jù)庫的表或者不在本數(shù)據(jù)庫上進(jìn)行查看
語法:SELECT 字段 FROM 數(shù)據(jù)庫名.表名;
mysql> select *from HA.student;
# 查看某個數(shù)據(jù)庫下指定的表內(nèi)容,數(shù)據(jù)庫名.表名

19、刪除記錄
刪除id為3的行
mysql> delete from students where id=3;

刪除age為空的行
mysql> delete from students where age is null;

20、更新記錄
mysql> update students set sex='M' where id=2;
mysql> update students set id=2; # 所有的都變?yōu)?
mysql> update students set stname='zhangsan',age=21 where uid=1;
# 同時更新多個字段時候用,逗號隔開

21、SQL基礎(chǔ)條件查詢語句
語法:select 字段名1,字段名2 from 表名 [where 條件];

(1)查詢students表中的name,age
mysql> select name,age from student;

(2)去重復(fù)查詢distinct
mysql> select distinct name,age from student;
mysql> select distinct id,name,age from student where id=3;

mysql> select distinct from students; # mysql的distinct可以對使用

(3)使用and和or進(jìn)行多條件查詢
or和and 同時存在時,先算and的兩邊值,邏輯與先執(zhí)行
mysql> select id,name,age from student where id>3 and age>25;
mysql> select id,name,age from student where id>3 or age>25;

mysql> select * from students where stname='zhangsan' and (age=21 or age=24);
注意and和or都是用的時候的邏輯關(guān)系

(4)MySQL區(qū)分大小寫查詢
MySQL查詢默認(rèn)是不區(qū)分大小寫的,對比如下:
mysql> select name from student where name='jk';
mysql> select * from student where binary name='jk';
\ # BINARY是類型轉(zhuǎn)換運(yùn)算符,它用來強(qiáng)制它后面的字符串為一個二進(jìn)制字符串,可以理解為在字符串比較的時候區(qū)分大小寫。

(5)MySQL查詢排序:
語法:select distinct 字段1,字段2 from 表名order by 字段名;
默認(rèn)為升序 asc
mysql> select distinct id from student order by id asc;
mysql> select distinct id from student order by id desc;
MySQL 數(shù)據(jù)庫的基本使用
歡迎大家關(guān)注微信公眾號,一起學(xué)習(xí)交流!

我的公眾號!

https://mp.weixin.qq.com/s/KqlrX13DSQdZb3BVT2dqfA

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

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

AI