您好,登錄后才能下訂單哦!
MySQL 是一個關系型數據庫管理系統,由瑞典 MySQL AB 公司開發,而MySQL AB 公司被 Oracle 公司收購,故 MySQL 現在屬于 Oracle 公司。MySQL 是一種關聯數據庫管理系統,關聯數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度并提高了靈活性。
MySQL 是開源的,所以你可以免費使用它。
MySQL 支持大型的數據庫,可以處理擁有上千萬條記錄的大型數據庫。但是根據實際生產經驗,當單表的數據量達到三千萬之后,數據庫性能急劇下降,甚至整個數據庫都癱瘓了,登錄不上。
MySQL 使用標準的 SQL 數據語言形式,結構化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的編程語言,是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統;同時也是數據庫腳本文件的擴展名。
MySQL 安裝好了之后,就可以登錄使用了。最主要就是使用 SQL 進行增刪改查的操作。
1、查看數據庫
\ # mysql -u root -p'P@ssw0rd'
mysql> show databases;
2、切換數據庫
mysql> use mysql;
注意:
1:information_schema # 這個數據庫保存了 MySQL 服務器所有數據庫的信息。如數據庫名,數據庫的表,表欄的數據類型不訪問權限等。
2:performance_schema # MySQL 5.5開始新增一個數據庫:PERFORMANCE_SCHEMA,主要用于收集數據庫服務器性能參數。并且庫里表的存儲引擎均為 PERFORMANCE_SCHEMA,而用戶是不能創建存儲引擎為 PERFORMANCE_SCHEMA 的表。
3:mysql 庫是系統庫,里面保存有賬戶信息,權限信息等。
4:mysql5.7 增加了sys 系統數據庫,通過這個庫可以快速的了解系統的元數據信息。元數據是關于數據信息的數據,如數據庫名或表名,列的數據類型,或訪問權限等。
3、創建數據庫
語法:create database 數據庫名;
創建數據庫注意事項:
1、在文件系統中,MySQL 的數據存儲區將以目錄方式表示 MySQL 數據庫。因此,上面命令中的數據庫名字必須與操作系統的約束的目錄名字一致。例如不允許文件和目錄名中有 \,/,:,*,?,”,<,>,| 這些符號,在 MySQL 數據庫名字中這些字母會被自動刪除。<遵從目錄的約束>
2、數據庫的名字不能超過64個字符,包含特殊字符的名字或者是全部由數字或保留字組成的名字必須用反引號``包起來。
3、數據庫不能重名。
mysql> create databases 'YF-test'; # 使用單引號,建庫失敗
mysql> create databases YF-test
; # 使用反引號,建庫成功
\ # ls /var/lib/mysql/ #查看數據庫存放目錄
4、查看自己所處的位置及默認所在的位置
mysql> select database();
+------------+
| database() |
+------------+
| NULL |
+------------+
1 row in set (0.00 sec)
如果什么數據庫也沒有選擇,默認顯示的是NULL,Null意味著沒有選擇數據庫
mysql> use mysql;
Database changed
mysql> select database();
+------------+
| database() |
+------------+
| mysql |
+------------+
1 row in set (0.00 sec)
5、刪除數據庫
刪除數據庫沒有任何提示,要慎重操作;最好操作的時候,旁邊有人看著你操作。
方法1:mysql> drop database create
;
方法2:直接到數據庫存放目錄移出就行。
6、查看庫有哪些表,查看表,要進入到數據庫再查看
7、創建表:
語法:create table 表名 (字段名 類型, 字段名 類型, 字段名 類型);
mysql> create database test;
mysql> use test;
mysql> create table student(id int(20),name char(40),age int);
8、查看表的結構
9、刪除表
mysql> drop table student;
10、修改表名稱alter
語法:alter table 表名 rename 新表名;
11、修改表中的字段類型
語法:alter table 表名 modify 要修改的字段名 要修改的類型;
mysql> alter table students modify id int(10);
12、修改表中的字段類型和字段名稱
語法:alter table 表名 change 原字段名 新字段名 新字段類型;
注意:mysql 不支持同時修改多個字段,
MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name]
注:CHANGE 和MODIFY的區別:
CHANGE 對列進行重命名和更改列的類型,需給定舊的列名稱和新的列名稱、當前的類型。MODIFY 可以改變列的類型,此時不需要重命名(不需給定新的列名稱)。
13、在表中添加字段
語法:alter table 表名 add 字段名 字段類型;
mysql> alter table students add sex enum('M','W');
14、指定位置添加字段,在第一列添加一個字段
mysql> alter table students add uid int(10) first;
mysql> alter table students add address char(40) after age;
15、刪除表中字段:
語法:alter table 表名 drop 字段名 ;
mysql> alter table students drop address;
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);
插入記錄時要對應相對的類型
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; # *表示所有
當字段比較多的時候我們也可以使用\G
mysql> select * from student\G
只查詢表中某個字段的內容:
mysql> select name from student;
18、查看別的數據庫的表或者不在本數據庫上進行查看
語法:SELECT 字段 FROM 數據庫名.表名;
mysql> select *from HA.student;
# 查看某個數據庫下指定的表內容,數據庫名.表名
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; # 所有的都變為2
mysql> update students set stname='zhangsan',age=21 where uid=1;
# 同時更新多個字段時候用,逗號隔開
21、SQL基礎條件查詢語句
語法:select 字段名1,字段名2 from 表名 [where 條件];
(1)查詢students表中的name,age
mysql> select name,age from student;
(2)去重復查詢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進行多條件查詢
or和and 同時存在時,先算and的兩邊值,邏輯與先執行
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都是用的時候的邏輯關系
(4)MySQL區分大小寫查詢
MySQL查詢默認是不區分大小寫的,對比如下:
mysql> select name from student where name='jk';
mysql> select * from student where binary name='jk';
\ # BINARY是類型轉換運算符,它用來強制它后面的字符串為一個二進制字符串,可以理解為在字符串比較的時候區分大小寫。
(5)MySQL查詢排序:
語法:select distinct 字段1,字段2 from 表名order by 字段名;
默認為升序 asc
mysql> select distinct id from student order by id asc;
mysql> select distinct id from student order by id desc;
歡迎大家關注微信公眾號,一起學習交流!
我的公眾號!
https://mp.weixin.qq.com/s/KqlrX13DSQdZb3BVT2dqfA
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。