Mysql數(shù)據(jù)庫(kù)的一些命令
如果你習(xí)慣用 windows 的數(shù)據(jù)庫(kù),也就是在 圖形界面上操作數(shù)據(jù)庫(kù)的話,那么當(dāng)你在命令上 操作 mysql 將會(huì)感到陌生,其實(shí)只要你掌握了一些基本命令,還有經(jīng)常使用,熟練起來(lái)了, 將會(huì)相當(dāng)方便,而且很快速。
好了,現(xiàn)在開始 帶一些剛接觸mysql 的朋友 進(jìn)入mysql 的世界吧。 呵呵。
查看當(dāng)前數(shù)據(jù)庫(kù)的版本,因?yàn)橛行┟钤诓煌姹局?用法有可能不一樣,
注意 -V 是大寫字母V
[root@localhost ~]# mysqladmin -V
mysqladmin Ver 8.42 Distrib 6.0.4-alpha, for redhat-linux-gnu on i686
這樣就知道我當(dāng)前使用的 mysql 版本是 6.0.4-alpha
----------------------
當(dāng)你安裝完數(shù)據(jù)庫(kù)后,當(dāng)然就是要進(jìn)入mysql 進(jìn)行測(cè)試一番。
首先登陸 退出命令 這個(gè)應(yīng)該是最基本的了。
mysql -uroot -p123
這個(gè)表示用戶名為 root 密碼為123
出現(xiàn) mysql> 這個(gè)符號(hào),表示你成功登陸進(jìn)去了
然后你就可以輸入一些命令讓 mysql 顯示相關(guān)的信息出來(lái),例如看我下面操作
---------------------------------
查看數(shù)據(jù)庫(kù)列表
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| 17rumen |
| mysql |
| test |
+--------------------+
4 rows in set (0.01 sec)
這樣上面就顯示出 4個(gè)數(shù)據(jù)庫(kù)了。
我忘記說(shuō)了, 當(dāng)你輸入mysql 命令后, 要加入 ; 分號(hào),說(shuō)明 這條命令接觸了
然后按一下 回車就可以了。
------------------------------
當(dāng)你想要進(jìn)入 某一個(gè)數(shù)據(jù)庫(kù)的 那么就使用下面命令:
use 數(shù)據(jù)庫(kù)名字;
例如 use mysql; 表示進(jìn)入mysql這個(gè)數(shù)據(jù)庫(kù)
進(jìn)入數(shù)據(jù)庫(kù)后,就可以查看 當(dāng)前數(shù)據(jù)庫(kù)的數(shù)據(jù)表。
show tables;
就會(huì)把 當(dāng)前數(shù)據(jù)庫(kù)的所有表列出來(lái);
---------------------------------
然后就可以 查看一些表的內(nèi)容,也就是 字段的內(nèi)容
例如:
select User,Password from user;
這是查看mysql 數(shù)據(jù)庫(kù)的用戶名和密碼,當(dāng)然這密碼是加密后的
=====================
別看這些步驟有些復(fù)雜,其實(shí)很好理解,一層層進(jìn)去查看而已
你要查看數(shù)據(jù)表,當(dāng)然要進(jìn)入 某個(gè)數(shù)據(jù)庫(kù),
當(dāng)你要查看表的數(shù)據(jù)的時(shí)候 就要進(jìn)入某張表。
進(jìn)入后 要 一步步退出來(lái)嗎 ?
這個(gè)當(dāng)然不用, 例如 你隨時(shí)可以進(jìn)入 其他數(shù)據(jù)庫(kù)
例如我現(xiàn)在當(dāng)前位置在 mysql 數(shù)據(jù)庫(kù)的某一張表上,
我可以直接 use 17rumen; 直接進(jìn)入到 17rumen 這個(gè)數(shù)據(jù)庫(kù)上去。
是吧, 很方便的。
========================================
然后說(shuō)一下 跨數(shù)據(jù)庫(kù)查詢, 也就是我當(dāng)前在一個(gè)數(shù)據(jù)庫(kù) 查看另外一個(gè)數(shù)據(jù)庫(kù)上的
信息內(nèi)容。
我當(dāng)前在 mysql 這個(gè)數(shù)據(jù)庫(kù)上, 要查 17rumen 這個(gè)數(shù)據(jù)庫(kù)上的 news 表內(nèi)容
如何呢?
select * from 17rumen.news;
這樣就可以了, 不需要在17rumen 數(shù)據(jù)庫(kù)上進(jìn)行操作。
看到了吧,這樣就可以很方便進(jìn)行操作,剩下很多時(shí)間。
=================================
還有就是 查看某一張表的 結(jié)構(gòu),包括字段名,是否允許為Null,主鍵,外鍵,默認(rèn)值,等等。
desc user;
就是查看 user 表的結(jié)構(gòu), Field 表示字段名 ,Type 表示 字段的數(shù)據(jù)類型
---------------
如果你想要看某個(gè)字段的詳細(xì)信息
例如剛才 desc user; 只是查看表的結(jié)構(gòu)
下面接著查看 user 表的 Host 字段的信息
desc user Host;
就把 Host 字段顯示出來(lái)
desc user Host;
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| Host | char(60) | NO | PRI | | |
+-------+----------+------+-----+---------+-------+
1 row in set (0.00 sec)
看到不允許為空, Key 為 PRI 表示 這個(gè)就是 主鍵來(lái)的。
================
一些基本常用命令就 到這里, 當(dāng)然還有 退出命令 就是 exit; 就可以了
以后還會(huì)為大家介紹 創(chuàng)建數(shù)據(jù)庫(kù) 表 查詢 刪除 添加 等等的操作。 謝謝觀看
當(dāng)大家剛剛裝好mysql數(shù)據(jù)庫(kù)后,會(huì)有一個(gè)默認(rèn)本地用戶root,密碼在你裝數(shù)據(jù)庫(kù)期間會(huì)提示你輸入一個(gè)密碼,那個(gè)就是你的root密碼雖然別的用戶也可以登錄到數(shù)據(jù)庫(kù)但是權(quán)限少的可憐裝好數(shù)據(jù)庫(kù)后我們可以通過(guò)注釋掉配置文件/etc/mysql/my.cnf中的bind-address = 127.0.0.1這行來(lái)使mysql可以遠(yuǎn)程登錄(然后重啟有效)
在命令行模式下修改用戶密碼的方式:
mysqladmin -u root -p password "新的密碼";(不過(guò)在你修改密碼時(shí),會(huì)讓你先輸入你的舊密碼)
登錄本地mysql數(shù)據(jù)庫(kù) ”mysql -u root -p “回車它會(huì)讓你輸入密碼,輸入正確密碼就可以登錄了
連接到遠(yuǎn)程主機(jī)上的MYSQL。假設(shè)遠(yuǎn)程主機(jī)的IP為:110.110.110.110,用戶名為root,密碼為abcd123。則鍵入以下命令:
mysql -h110.110.110.110 -uroot -pabcd123
(注:u與root可以不用加空格,其它也一樣)
登錄mysql數(shù)據(jù)庫(kù)后使用的命令:(注意寫完命令后要加個(gè)分號(hào)來(lái))命令字母可以不區(qū)分大小寫
顯示當(dāng)前使用者的名字:select user();
查看所有的用戶:select user,host,password from mysql.user;
顯示當(dāng)前用戶的權(quán)限:show grants for 用戶名@localhost;(當(dāng)然用戶必須是在數(shù)據(jù)庫(kù)中已經(jīng)建立的用戶,如果不是會(huì)顯示錯(cuò)誤)
創(chuàng)建新用戶: create user username identified by ‘password'(此用戶沒有任何權(quán)限或沒有任何身份);還可以這樣建新用戶: grant select,insert,update,delete on *.* to test2@localhost identified by 'abc‘;
刪除新用戶:Delete FROM mysql.user Where User='test' and Host='localhost';
刷新系統(tǒng)權(quán)限表:flush privileges;
選擇數(shù)據(jù)庫(kù):use databasename;然后可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作;
創(chuàng)建數(shù)據(jù)庫(kù):create database databasename;
刪除數(shù)據(jù)庫(kù):drop database databasename;
查看表:show tables;
修改表名:alter table tablename rename newtablename;
查看表的結(jié)構(gòu):desc tablename;或者是 show columns from tablename;
刪除表:delete from tablename;或者truncate tablename; delete的效果是將mysql表中所有記錄一條一條刪除到刪完,而truncate相當(dāng)于保留mysql表的結(jié)構(gòu),重新創(chuàng)建了這個(gè)表,所有的狀態(tài)都相當(dāng)于新表,因此效率上truncate比delete快,并且不可恢復(fù)數(shù)據(jù) 。
1) 創(chuàng)建一張學(xué)生表,包含以下信息,學(xué)號(hào),姓名,年齡,性別,家庭住址,聯(lián)系電話
create table student
(
學(xué)號(hào) int,
姓名 varchar(10),
年齡 int,
性別 varchar(4),
家庭住址 varchar(50),
聯(lián)系電話 varchar(11)
);(注意里面的英文、數(shù)字和括號(hào)用英文格式書寫)
2) 修改學(xué)生表的結(jié)構(gòu),添加一列信息,學(xué)歷
alter table student add column 學(xué)歷 varchar(6);
alter table test modify 性別 char(10) --修改表列類型
3) 修改學(xué)生表的結(jié)構(gòu),刪除一列信息,家庭住址
alter table student drop column 家庭住址;//注意此處用drop而非delete
4) 向?qū)W生表添加如下信息:
學(xué)號(hào) 姓名年齡性別聯(lián)系電話學(xué)歷
1A22男123456小學(xué)
2B21男119中學(xué)
3C23男110高中
4D18女114大學(xué)
insert into student (學(xué)號(hào),姓名,年齡,性別,聯(lián)系電話,學(xué)歷) values(1,"A",22,"男","123456","小學(xué)");(當(dāng)插入的中文不能識(shí)別時(shí),可用nchar()或nvarchar(),改用unicode編碼而不用ASCii編碼)
insert into student (學(xué)號(hào),姓名,年齡,性別,聯(lián)系電話,學(xué)歷) values(1,"B",21,"男","119","中學(xué)");
insert into student (學(xué)號(hào),姓名,年齡,性別,聯(lián)系電話,學(xué)歷) values(1,"C",23,"男","123456","高中");
insert into student (學(xué)號(hào),姓名,年齡,性別,聯(lián)系電話,學(xué)歷) values(1,"D",23,"女","114","大學(xué)");
5) 修改學(xué)生表的數(shù)據(jù),將電話號(hào)碼以11開頭的學(xué)員的學(xué)歷改為“大專”
update student set 學(xué)歷="大專" where 聯(lián)系電話 like "11%";
6) 刪除學(xué)生表的數(shù)據(jù),姓名以C開頭,性別為‘男'的記錄刪除
delete from student where 姓名 like "C" and 性別="男";
7) 查詢學(xué)生表的數(shù)據(jù),將所有年齡小于22歲的,學(xué)歷為“大專”的,學(xué)生的姓名和學(xué)號(hào)示出來(lái)
select 姓名,學(xué)號(hào) from student where 年齡<22 and 學(xué)歷="大專";
8) 查詢學(xué)生表的數(shù)據(jù),查詢所有信息,列出前25%的記錄
select top 25 percent * from student ; ????
select * from student limit 25%;???? 這條有問(wèn)題,在sql 2000中應(yīng)該是select top 25 percent * from student ;
9) 查詢出所有學(xué)生的姓名,性別,年齡降序排列
select 姓名,性別,年齡 from student order by 年齡 desc;
10) 按照性別分組查詢所有的平均年齡
select avg(年齡) as 平均年齡 from student group by 性別;
select avg(年齡) from student group by 性別;
select avg(年齡) 平均年齡 from student group by 性別;
3) 說(shuō)出以下聚合數(shù)的含義:avg ,sum ,max ,min , count ,count(*)
AVG:求平均值
SUM:求和
MAX:求最大值
MIN:求最小值
COUNT(*):返回所有行數(shù)
COUNT返回滿足指定條件的記錄值
- MySQL數(shù)據(jù)庫(kù)備份和還原的常用命令小結(jié)
- MySQL操作數(shù)據(jù)庫(kù)和表的常用命令新手教程
- MySQL數(shù)據(jù)庫(kù)維護(hù)中監(jiān)控所用到的常用命令
- MySQL 數(shù)據(jù)庫(kù)常用命令 簡(jiǎn)單超級(jí)實(shí)用版
- MySQL數(shù)據(jù)庫(kù)管理常用命令小結(jié)
- MySQL常用命令 MySQL處理數(shù)據(jù)庫(kù)和表的命令
- MySQL數(shù)據(jù)庫(kù)操作常用命令小結(jié)
- MYSQL 數(shù)據(jù)庫(kù)導(dǎo)入導(dǎo)出命令
- MySQL優(yōu)化全攻略-相關(guān)數(shù)據(jù)庫(kù)命令
- mysqldump命令導(dǎo)入導(dǎo)出數(shù)據(jù)庫(kù)方法與實(shí)例匯總
- MySQL命令行導(dǎo)出導(dǎo)入數(shù)據(jù)庫(kù)實(shí)例詳解
- MySQL數(shù)據(jù)庫(kù)基礎(chǔ)入門之常用命令小結(jié)
相關(guān)文章
詳解騰訊云CentOS7.0使用yum安裝mysql及使用遇到的問(wèn)題
本篇文章主要介紹了騰訊云CentOS7.0使用yum安裝mysql,詳細(xì)的介紹了使用yum安裝mysql及使用遇到的問(wèn)題,有興趣的可以了解一下。2017-01-01MySQL性能參數(shù)詳解之Skip-External-Locking參數(shù)介紹
MySQL的配置文件my.cnf中默認(rèn)存在一行skip-external-locking的參數(shù),即跳過(guò)外部鎖定。根據(jù)MySQL開發(fā)網(wǎng)站的官方解釋,External-locking用于多進(jìn)程條件下為MyISAM數(shù)據(jù)表進(jìn)行鎖定2016-05-05解析windows下使用命令的方式安裝mysql5.7的方法
這篇文章主要介紹了windows下使用命令的方式安裝mysql5.7的方法,本文圖文并茂給大家介紹的非常詳細(xì),需要的朋友可以參考下2017-01-01mysql通過(guò)Navicat分區(qū)實(shí)操講解
在本文里我們給大家整理了關(guān)于mysql通過(guò)Navicat分區(qū)的相關(guān)知識(shí)點(diǎn),需要的朋友們跟著學(xué)習(xí)參考下。2019-03-03MySQL實(shí)現(xiàn)每天定時(shí)12點(diǎn)彈出黑窗口
這篇文章主要介紹了MySQL實(shí)現(xiàn)每天定時(shí)12點(diǎn)彈出黑窗口問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05