mysql常用命令

mysql

开启/关闭/登录mysql

  • 检查状态

    lidadada@ubuntu:~$ ps -ef | grep mysqld
    mysql     13486      1  0 15:24 ?        00:00:00 /usr/sbin/mysqld
    lidadada  13845  13770  0 15:41 pts/1    00:00:00 grep --color=auto mysqld
  • 开启mysql

    lidadada@ubuntu:~$ service mysql start
    ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
    Authentication is required to start 'mysql.service'.
    Authenticating as: for ros,,, (lidadada)
    Password:
    ==== AUTHENTICATION COMPLETE ===
  • 关闭mysql

    lidadada@ubuntu:~$ service mysql stop
    ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
    Authentication is required to stop 'mysql.service'.
    Authenticating as: for ros,,, (lidadada)
    Password:
    ==== AUTHENTICATION COMPLETE ===
  • 登录

    lidadada@ubuntu:~$ mysql -uroot -p
    回车输入密码

选择数据库

mysql> use mysql;

选择数据库之后,所有的操作都是针对此数据库

创建/删除/查看数据库

mysql> create DATABASE lzsql;

创建一个名为lzsql的数据库

mysql> drop DATABASE asdf

删除一个名为asdf的数据库

mysql> show databases

添加用户

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
    -> ON lzsql.*
    -> TO 'lzs'@'localhost'
    -> IDENTIFIED BY 'lzszjabcd';

在指定数据库lzsql添加用户lzs,密码为lzszjabcd

创建/删除数据表

mysql> CREATE TABLE runoob_tbl(
    -> runoob_id INT NOT NULL AUTO_INCREMENT,
    -> runoob_title VARCHAR(100) NOT NULL,
    -> runoob_author VARCHAR(40) NOT NULL,
    -> submission_date DATE,
    -> PRIMARY KEY ( runoob_id )
    -> )ENGINE=InnoDB DEFAULT CHARSET=utf8;

创建一个名为runoob_tbl的表。

  • 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
  • AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
  • PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
  • ENGINE 设置存储引擎,CHARSET 设置编码。
mysql> DROP TABLE A;

删除一个名为A的数据表

向表中插入数据

mysql> INSERT INTO runoob_tbl 
    -> (runoob_title, runoob_author, submission_date)
    -> VALUES
    -> ("学习 PHP", "菜鸟教程", NOW());
Query OK, 1 rows affected, 1 warnings (0.01 sec)
mysql> INSERT INTO runoob_tbl
    -> (runoob_title, runoob_author, submission_date)
    -> VALUES
    -> ("学习 MySQL", "菜鸟教程", NOW());
Query OK, 1 rows affected, 1 warnings (0.01 sec)
mysql> INSERT INTO runoob_tbl
    -> (runoob_title, runoob_author, submission_date)
    -> VALUES
    -> ("JAVA 教程", "RUNOOB.COM", '2016-05-06');

格式

INSERT INTO 表名
(字段1, 字段2…字段)
VALUES
(值1, 值2…值)

查询数据

mysql> select * from runoob_tbl;
+-----------+---------------+---------------+-----------------+
| runoob_id | runoob_title  | runoob_author | submission_date |
+-----------+---------------+---------------+-----------------+
|         1 | 学习 php      | 菜鸟教程      | 2019-10-03      |
|         2 | 学习 mysql    | 菜鸟教程      | 2019-10-03      |
|         3 | python 教程   | 菜鸟教程      | 2019-10-03      |
+-----------+---------------+---------------+-----------------+
3 rows in set (0.00 sec)

mysql> select runoob_id,runoob_title from runoob_tbl;
+-----------+---------------+
| runoob_id | runoob_title  |
+-----------+---------------+
|         1 | 学习 php      |
|         2 | 学习 mysql    |
|         3 | python 教程   |
+-----------+---------------+
3 rows in set (0.00 sec)

select 字段1,字段2.. from 表1, 表2..

WHERE 子句(条件子句)

mysql> select * from runoob_tbl WHERE runoob_author='菜鸟教程';
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+---------------+-----------------+
|         1 | 学习 php     | 菜鸟教程      | 2019-10-03      |
|         2 | 学习 mysql   | 菜鸟教程      | 2019-10-03      |
+-----------+--------------+---------------+-----------------+
2 rows in set (0.00 sec)

相当于是添加了一种条件,用于对表中内容的筛选,也可用于UPDATE,DELETE语句中。

操作符 描述 实例
= 等号,检测两个值是否相等,如果相等返回true (A = B) 返回false。
<>, != 不等于,检测两个值是否相等,如果不相等返回true (A != B) 返回 true。
> 大于号,检测左边的值是否大于右边的值, 如果左边的值大于右边的值返回true (A > B) 返回false。
< 小于号,检测左边的值是否小于右边的值, 如果左边的值小于右边的值返回true (A < B) 返回 true。
>= 大于等于号,检测左边的值是否大于或等于右边的值, 如果左边的值大于或等于右边的值返回true (A >= B) 返回false。
<= 小于等于号,检测左边的值是否小于于或等于右边的值, 如果左边的值小于或等于右边的值返回true (A <= B) 返回 true。

UPDATE语句(更改信息)

mysql> UPDATE runoob_tbl SET runoob_author='你爸爸' WHERE runoob_id=3;
mysql> select * from runoob_tbl WHERE runoob_id=3;
+-----------+---------------+---------------+-----------------+
| runoob_id | runoob_title  | runoob_author | submission_date |
+-----------+---------------+---------------+-----------------+
|         3 | python 教程   | 你爸爸        | 2019-10-03      |
+-----------+---------------+---------------+-----------------+
1 row in set (0.00 sec)

UPDATE runoob_tbl SET runoob_author=’你爸爸’ WHERE runoob_id=3;

DELETE语句(删除信息)

mysql> DELETE FROM runoob_tbl WHERE runoob_id=3;
Query OK, 1 row affected (0.00 sec)

mysql> select * from runoob_tbl;
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+---------------+-----------------+
|         1 | 学习 php     | 菜鸟教程      | 2019-10-03      |
|         2 | 学习 mysql   | 菜鸟教程      | 2019-10-03      |
+-----------+--------------+---------------+-----------------+
2 rows in set (0.00 sec)

DELETE FROM runoob_tbl WHERE runoob_id=3;

LIKE子句(通用匹配符)

mysql> select * from runoob_tbl WHERE runoob_title LIKE '%php';
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+---------------+-----------------+
|         1 | 学习 php     | 菜鸟教程      | 2019-10-03      |
+-----------+--------------+---------------+-----------------+
1 row in set (0.00 sec)

mysql> select * from runoob_tbl WHERE runoob_title LIKE '学习%';
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+---------------+-----------------+
|         1 | 学习 php     | 菜鸟教程      | 2019-10-03      |
|         2 | 学习 mysql   | 菜鸟教程      | 2019-10-03      |
+-----------+--------------+---------------+-----------------+
2 rows in set (0.00 sec)

当LIKE子句中没有%时,和直接使用WHERE子句的=效果一样。

以上均学习子菜鸟教程,经本人亲自验证可在数据库版本5.7.27正常运行。


   转载规则


《mysql常用命令》 ZS 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录