Mysql數(shù)據(jù)庫的一些命令
如果你習(xí)慣用 windows 的數(shù)據(jù)庫,也就是在 圖形界面上操作數(shù)據(jù)庫的話,那么當(dāng)你在命令上 操作 mysql 將會(huì)感到陌生,其實(shí)只要你掌握了一些基本命令,還有經(jīng)常使用,熟練起來了, 將會(huì)相當(dāng)方便,而且很快速。
好了,現(xiàn)在開始 帶一些剛接觸mysql 的朋友 進(jìn)入mysql 的世界吧。 呵呵。
查看當(dāng)前數(shù)據(jù)庫的版本,因?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ù)庫后,當(dāng)然就是要進(jìn)入mysql 進(jìn)行測試一番。
首先登陸 退出命令 這個(gè)應(yīng)該是最基本的了。
mysql -uroot -p123
這個(gè)表示用戶名為 root 密碼為123
出現(xiàn) mysql> 這個(gè)符號(hào),表示你成功登陸進(jìn)去了
然后你就可以輸入一些命令讓 mysql 顯示相關(guān)的信息出來,例如看我下面操作
---------------------------------
查看數(shù)據(jù)庫列表
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| 17rumen |
| mysql |
| test |
+--------------------+
4 rows in set (0.01 sec)
這樣上面就顯示出 4個(gè)數(shù)據(jù)庫了。
我忘記說了, 當(dāng)你輸入mysql 命令后, 要加入 ; 分號(hào),說明 這條命令接觸了
然后按一下 回車就可以了。
------------------------------
當(dāng)你想要進(jìn)入 某一個(gè)數(shù)據(jù)庫的 那么就使用下面命令:
use 數(shù)據(jù)庫名字;
例如 use mysql; 表示進(jìn)入mysql這個(gè)數(shù)據(jù)庫
進(jìn)入數(shù)據(jù)庫后,就可以查看 當(dāng)前數(shù)據(jù)庫的數(shù)據(jù)表。
show tables;
就會(huì)把 當(dāng)前數(shù)據(jù)庫的所有表列出來;
---------------------------------
然后就可以 查看一些表的內(nèi)容,也就是 字段的內(nèi)容
例如:
select User,Password from user;
這是查看mysql 數(shù)據(jù)庫的用戶名和密碼,當(dāng)然這密碼是加密后的
=====================
別看這些步驟有些復(fù)雜,其實(shí)很好理解,一層層進(jìn)去查看而已
你要查看數(shù)據(jù)表,當(dāng)然要進(jìn)入 某個(gè)數(shù)據(jù)庫,
當(dāng)你要查看表的數(shù)據(jù)的時(shí)候 就要進(jìn)入某張表。
進(jìn)入后 要 一步步退出來嗎 ?
這個(gè)當(dāng)然不用, 例如 你隨時(shí)可以進(jìn)入 其他數(shù)據(jù)庫
例如我現(xiàn)在當(dāng)前位置在 mysql 數(shù)據(jù)庫的某一張表上,
我可以直接 use 17rumen; 直接進(jìn)入到 17rumen 這個(gè)數(shù)據(jù)庫上去。
是吧, 很方便的。
========================================
然后說一下 跨數(shù)據(jù)庫查詢, 也就是我當(dāng)前在一個(gè)數(shù)據(jù)庫 查看另外一個(gè)數(shù)據(jù)庫上的
信息內(nèi)容。
我當(dāng)前在 mysql 這個(gè)數(shù)據(jù)庫上, 要查 17rumen 這個(gè)數(shù)據(jù)庫上的 news 表內(nèi)容
如何呢?
select * from 17rumen.news;
這樣就可以了, 不需要在17rumen 數(shù)據(jù)庫上進(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 字段顯示出來
desc user Host;
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| Host | char(60) | NO | PRI | | |
+-------+----------+------+-----+---------+-------+
1 row in set (0.00 sec)
看到不允許為空, Key 為 PRI 表示 這個(gè)就是 主鍵來的。
================
一些基本常用命令就 到這里, 當(dāng)然還有 退出命令 就是 exit; 就可以了
以后還會(huì)為大家介紹 創(chuàng)建數(shù)據(jù)庫 表 查詢 刪除 添加 等等的操作。 謝謝觀看
當(dāng)大家剛剛裝好mysql數(shù)據(jù)庫后,會(huì)有一個(gè)默認(rèn)本地用戶root,密碼在你裝數(shù)據(jù)庫期間會(huì)提示你輸入一個(gè)密碼,那個(gè)就是你的root密碼雖然別的用戶也可以登錄到數(shù)據(jù)庫但是權(quán)限少的可憐裝好數(shù)據(jù)庫后我們可以通過注釋掉配置文件/etc/mysql/my.cnf中的bind-address = 127.0.0.1這行來使mysql可以遠(yuǎn)程登錄(然后重啟有效)
在命令行模式下修改用戶密碼的方式:
mysqladmin -u root -p password "新的密碼";(不過在你修改密碼時(shí),會(huì)讓你先輸入你的舊密碼)
登錄本地mysql數(shù)據(jù)庫 ”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ù)庫后使用的命令:(注意寫完命令后要加個(gè)分號(hào)來)命令字母可以不區(qū)分大小寫
顯示當(dāng)前使用者的名字:select user();
查看所有的用戶:select user,host,password from mysql.user;
顯示當(dāng)前用戶的權(quán)限:show grants for 用戶名@localhost;(當(dāng)然用戶必須是在數(shù)據(jù)庫中已經(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ù)庫:use databasename;然后可以對數(shù)據(jù)庫進(jìn)行操作;
創(chuàng)建數(shù)據(jù)庫:create database databasename;
刪除數(shù)據(jù)庫: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é)歷改為“大?!?BR>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)示出來
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%;???? 這條有問題,在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) 說出以下聚合數(shù)的含義:avg ,sum ,max ,min , count ,count(*)
AVG:求平均值
SUM:求和
MAX:求最大值
MIN:求最小值
COUNT(*):返回所有行數(shù)
COUNT返回滿足指定條件的記錄值
- MySQL數(shù)據(jù)庫備份和還原的常用命令小結(jié)
- MySQL操作數(shù)據(jù)庫和表的常用命令新手教程
- MySQL數(shù)據(jù)庫維護(hù)中監(jiān)控所用到的常用命令
- MySQL 數(shù)據(jù)庫常用命令 簡單超級(jí)實(shí)用版
- MySQL數(shù)據(jù)庫管理常用命令小結(jié)
- MySQL常用命令 MySQL處理數(shù)據(jù)庫和表的命令
- MySQL數(shù)據(jù)庫操作常用命令小結(jié)
- MYSQL 數(shù)據(jù)庫導(dǎo)入導(dǎo)出命令
- MySQL優(yōu)化全攻略-相關(guān)數(shù)據(jù)庫命令
- mysqldump命令導(dǎo)入導(dǎo)出數(shù)據(jù)庫方法與實(shí)例匯總
- MySQL命令行導(dǎo)出導(dǎo)入數(shù)據(jù)庫實(shí)例詳解
- MySQL數(shù)據(jù)庫基礎(chǔ)入門之常用命令小結(jié)
相關(guān)文章
Mysql中l(wèi)eft join、right join和inner join(join)的區(qū)
本文介紹了leftjoin、rightjoin和innerjoin的區(qū)別和使用場景,以圖文形式輔以實(shí)例講解,幫助讀者清晰理解三種SQL連接查詢的特點(diǎn)和應(yīng)用2024-10-10
詳解 Mysql查詢結(jié)果順序按 in() 中ID 的順序排列
這篇文章主要介紹了詳解 Mysql查詢結(jié)果順序按 in() 中ID 的順序排列的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-09-09
MySQL查看數(shù)據(jù)庫狀態(tài)命令詳細(xì)講解
在工作中,有時(shí)候我們需要了解MySQL服務(wù)器的狀態(tài)信息,下面這篇文章主要給大家介紹了關(guān)于MySQL查看數(shù)據(jù)庫狀態(tài)命令的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03
MySQL按天分組統(tǒng)計(jì)一定時(shí)間內(nèi)的數(shù)據(jù)實(shí)例(沒有數(shù)據(jù)補(bǔ)0)
我們在用Mysql制作數(shù)據(jù)可視化圖表時(shí)候,經(jīng)常需要按照天對數(shù)據(jù)進(jìn)行分組統(tǒng)計(jì),下面這篇文章主要給大家介紹了關(guān)于MySQL按天分組統(tǒng)計(jì)一定時(shí)間內(nèi)的數(shù)據(jù),沒有數(shù)據(jù)補(bǔ)0的相關(guān)資料,需要的朋友可以參考下2023-03-03
DBA應(yīng)該知道的一些關(guān)于SQL Server跟蹤標(biāo)記的使用
本篇文章小編為大家介紹,DBA應(yīng)該知道的一些關(guān)于SQL Server跟蹤標(biāo)記的使用。需要的朋友參考下2013-04-04

