您好,登錄后才能下訂單哦!
下文主要給大家帶來MySQL有哪些常用的基礎語句,希望這些內容能夠帶給大家實際用處,這也是我編輯MySQL有哪些常用的基礎語句這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。
一、查看數據庫。對于查看數據庫來講,擁有三種方法
1.進入數據庫直接查看
mysql> show databases;
查看后默認會看到四個系統數據庫,其中
nformation_schema :保存了所有數據庫的元數據。注:描述數據的數據叫做元數據。例如:文件夾的屬性信息、權限、大小、文件名、文件類型等等。
performance_schema: 是MySQL 5.5版本后新增的性能優化引擎,主要作用用于收集數據庫云服務器性能參數。注意MySQL是用戶不能夠創建存儲引擎為performance_schema的表的,如果是編譯安裝,必須是在初始化的過程中使其自主創建。
mysql:屬于系統庫,里面保存賬戶及權限信息,管理員可以通過手動更改mysql.user表來設置用戶密碼。
sys數據庫:是用于快速了解系統的元數據信息的,由于該庫中存在大量視圖及存儲過程,從而實現快速查看。
2.以行的方式顯示
mysql> show databases \G;
該顯示方式對于數據庫較多的情況下以更加人性化的方式顯示,\G參數可用于大多數命令集,例如show create、show select .....
3.在shell中查看
mysql -e 后面直接跟SQL語句,這種非交互方式通常應用在腳本當中。
例:[root@Centos4 ~]# mysql -e 'show databases' -uroot -p123456 //后面跟用戶名及密碼,用該身份訪問。
二、創建數據庫
語法:create database 數據庫名;
創建數據庫的語法結構非常簡單,但需要注意以下四點:
1.在文件系統中,數據庫的存取是以目錄方式表示,因此數據庫的名字必須要求與系統約束目錄一致。
2.遵從目錄約束
3.數據庫名稱不允許超過64個字符。包好特殊字符的名字必須有反撇號`` 括起來。
4.數據庫不允許重名
例1:mysql> create database test01;
Query OK, 1 row affected (0.00 sec)
例2:mysql> create database `test-02`;
Query OK, 1 row affected (0.00 sec)
查看目錄結構(我mysql數據存放的位置如下)
三、選擇、查看、切換數據庫
1.當需要切換數據庫時,可以用到use命令+數據庫名稱;
mysql> use test01;
Database changed
2.當需要查看自己當前所在位置時,需要用到 database()函數。
mysql> select database();
+------------+
| database() |
+------------+
| test01 |
+------------+
1 row in set (0.00 sec)
3.我們也可以直接在shell界面中直接選擇我們需要進入的數據庫
[root@Centos4 ~]# mysql -uroot -p123456 test01;
//以上表示顯示當前時間、當前用戶、當前數據庫
四、刪除數據庫
1.由于數據庫test-02包含特殊字符,因此需要用反撇號括起。
mysql> drop database `test-02`;
Query OK, 0 rows affected (0.00 sec)
當然以上方法在生產環境中并不推薦,可利用mv命令直接移動數據庫文件,防止誤刪除。
[root@Centos4 ~]# mv /usr/local/mysql/data/test01 /tmp //以你們實際的數據庫存放位置為準
2.還可以使用 IF EXISTS 子句來避免刪除不存在數據庫時出現的錯誤信息(常用語shell腳本中)
無論數據庫是否存在,都不會產生報錯信息。以上表示如果 test-02 數據庫存在,則刪除。
當然IF EXISTS子句也可應用在創建表中,if not exists 表示如果不存在則創建。
五、關于表的操作
1.創建表create
語法:create table 數據庫名.表名 (字段名 類型,字段名 類型,字段名 類型,.....)
2.查看表 show tables;
3.查看表結構
可使用desc命令查看表的結構(列的各個屬性)
4.查看創建表執行了哪些命令
5.在創建表時可以指定表的存儲引擎和默認字符集
mysql> create table t2 (id int(30),name char(20),age int(10)) engine=innodb default charset=utf8;
Query OK, 0 rows affected (0.00 sec)
//表示創建一個名叫t2 的表,默認引擎為innodb 字符集為utf-8
6.刪除表
語法相對簡單,drop table 表名;
mysql> drop table t2;
Query OK, 0 rows affected (0.00 sec)
7.禁止預讀表信息
沒有禁止前轉換數據庫會有提示信息
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with –A
解決這個問題可以在登陸mysql的時候添加參數-A
[root@cong11 ~]# mysql -uroot -p123456 -A
mysql> use mysql;
Database changed #發現沒有提示信息了
8.修改表名稱alter
語法:alter table 表名 rename 新表名;
9.修改表中的字段類型
語法:alter table 表名 modify 要修改的字段名和要修改的類型。
10.修改表中字段類型和字段名稱
語法:alter table 表名 change 原字段名 新字段名 新字段類型;
注:change和modify的區別為,change需要對列進行重命名更改列的類型,而modify可以改變類型,此時不需要重命名。
11.在表中添加新的列
語法:alter table 表名 add 字段 字段類型;
12.在指定列后添加字段
語法:alter table 表名 add 新字段 字段類型 after 舊字段;
13.刪除表中字段
語法:alter table 表名 drop 字段名;
六、插入字段<記錄>insert
語法:insert into 表名 (列名1,列名2,列名3....) values (值1,值2,值3) ;
注意:不寫列名表示添加所有列名的值。
也可以一條語句插入多個數據,用逗號分隔
七、查詢表中記錄select
語法:select * from 數據庫.表名稱; ##*號表示查看所有列,由于后面沒有跟where子句,表示顯示所有行。
1.
2.表中內容較多可以使用\G表示以行顯示。
3.查詢表中某個列的內容,多個列用,逗號分隔
八、刪除表中數據(delete)
語法:delete from 表名 [where] 列名=值; (如果不添加where子句將刪除所有行)
1.
2.刪除age為空的行,需要在where子句后添加 列名 is null; 如果是不為空則是 列名 is not null:
九、更新記錄
語法 update 表名 set 列名='新值' [where] + 條件;
如果不添加where子句刪選條件,則更新所有age列的值。同理,一條語句更新多條記錄,使用逗號分隔。
十、MySQL查詢排序
語法:select 列名.... from 表名 order by 要排序的列名 asc或desc;升序/降序(默認升序)
十一、使用and和or進行多條件查詢
如上 and表示并且,or表示或。
對于以上關于MySQL有哪些常用的基礎語句,大家是不是覺得非常有幫助。如果需要了解更多內容,請繼續關注我們的行業資訊,相信你會喜歡上這些內容的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。