1. 程式人生 > >學習筆記mysql常用基本操作

學習筆記mysql常用基本操作

MySQL學習筆記

給MySQL數據庫root賬號設定密碼
[root@xiaomao2 ~]# mysqladmin -u root password ‘123456‘

連接數據庫:
可以使用命令:mysql –u root –p連接數據庫,但只是連接本地庫,很多時間需要連接網絡中的某臺主機的數據庫:
備註:-u 賬號 -p 密碼 -h 指定遠程主機的ip
連接本地庫:[root@xiaomao2 ~]# mysql -u root -p
Enter password:
連接網絡中的庫:[root@xiaomao2 ~]# mysql -uroot -p -h192.168.1.1 -P3306
Enter password:

-P:用來指定遠程主機mysql的綁定端口,默認是3306

查詢當前庫:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
3 rows in set (0.01 sec)

查詢某個庫中的表:
首先要切換到某個庫中:
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

Database changed
-A可以忽略在切換庫時讀取所有表的字段
mysql> use mysql -A;
Database changed
列出全有的表:
mysql> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |

| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| servers |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
23 rows in set (0.00 sec)

查看表的全部字段:
mysql> desc db;

\G:以行的形式顯示:
mysql> desc db\G;
1. row

查看當前是哪個用戶
mysql> select user();
+----------------+
| user() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

查看當前數據庫的命令:
mysql> select database();
+------------+
| database() |
+------------+
| mysql |
+------------+
1 row in set (0.00 sec)

創建一個新庫:
mysql> create database db1;
Query OK, 1 row affected (0.00 sec)
查看剛才創建的新庫
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db1 |
| mysql |
| test |
+--------------------+
4 rows in set (0.00 sec)

查看當前數據庫的版本:
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.1.73 |
+-----------+
1 row in set (0.00 sec)

查看MySQL的當前狀態:
mysql> show status;
+-----------------------------------+----------+
| Variable_name | Value |
+-----------------------------------+----------+
| Aborted_clients | 0 |
| Aborted_connects | 3 |

查看MySQL的參數:
mysql> show variables;
查看當前mysql服務器的隊列:
mysql> show processlist;
+----+------+-----------+-------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+-------+---------+------+-------+------------------+
| 11 | root | localhost | mysql | Query | 0 | NULL | show processlist |
+----+------+-----------+-------+---------+------+-------+------------------+
1 row in set (0.00 sec)

創建一個新表:
mysql> use db1; #切換到庫裏面先
Database changed
mysql> create table test(id int(20),name char(40));
Query OK, 0 rows affected (0.03 sec)
查看剛才創建的表:
mysql> desc test;
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| id | int(20) | YES | | NULL | |
| name | char(40) | YES | | NULL | |
+-------+----------+------+-----+---------+-------+
2 rows in set (0.00 sec)

插入數據:
mysql> insert into test values (1,‘le‘);
Query OK, 1 row affected (0.00 sec)
查看表中的數據:
mysql> select * from test;
+------+------+
| id | name |
+------+------+
| 1 | le |
+------+------+
1 row in set (0.00 sec)

清空某個表中的數據:
mysql> truncate table test;
Query OK, 0 rows affected (0.00 sec)

查看表中的數據:
mysql> select * from test;
Empty set (0.00 sec)

創建一個普通用戶並授權
mysql> grant all on . to user2 identified by ‘123456‘;
Query OK, 0 rows affected (0.00 sec)
All:表示有全部的權限
.:前者表示所有庫,後者表示所有表
給網絡的主機某個用戶授權:
mysql> grant all on db1.
to ‘user2‘@‘192.168.159.136‘ identified by ‘1234567’;
Query OK, 0 rows affected (0.00 sec)

查詢語句:
第一種方法:
mysql> select count() from mysql.user;
+----------+
| count(
) |
+----------+
| 7 |
+----------+
1 row in set (0.00 sec)
Mysql.user表示MySQL庫中的表,count(*)表示表中有多少行

第二種方法:
mysql> select db from mysql.db;
+---------+
| db |
+---------+
| test |
| test_% |
| db1 |
+---------+
3 rows in set (0.00 sec)

小弟是初學者,有錯的地方希望大佬們點出來!

學習筆記mysql常用基本操作