Mysql命令详解(一)

本文详细介绍了MySQL数据库的各种操作命令,包括选择数据库、显示数据库列表、查看表信息、创建和删除数据库、创建与删除数据表、插入和查询数据、更新与删除数据、使用WHERE子句、LIKE操作符、UNION操作、排序、GROUP BY语句以及性能统计等关键操作。这些命令是数据库管理的基础,对于数据库管理员和开发者来说至关重要。
摘要由CSDN通过智能技术生成

一、管理Mysql的命令

1.选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库。

        use 数据库名; 示例:use test;

2.列出 MySQL 数据库管理系统的数据库列表。

        show Databases;

3.显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库。

        show tables;

4.显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。

        show columns from 数据表;

5. 显示数据表的详细索引信息,包括PRIMARY KEY(主键)。

        show index from 数据表;

 6.该命令将输出Mysql数据库管理系统的性能及统计信息

         show table status [from db_name][like 'pattern']\G

        示例:

        show table status from test; # 显示数据库 test 中所有表的信息
        show table status from test like 'student%';# 显示数据库 test 中表名student开头的表的信息
        show table status from test like 'student%'\G;# 加上 \G,查询结果按列打印    

7.Mysql创建数据库

         create database 数据库名;

8.drop 命令删除数据库

          drop database 数据库名;

9.mysql创建数据表

            create table table_name (column_name column_type);    

        示例:CREATE TABLE IF NOT EXISTS `teacher_tbl`(
                           `teacher_id` INT UNSIGNED AUTO_INCREMENT,
                           `teacher_title` VARCHAR(100) NOT NULL,
                           `teacher_author` VARCHAR(40) NOT NULL,
                           `birthday` DATE,
                            PRIMARY KEY ( `teacher_id` )
                            )ENGINE=InnoDB DEFAULT CHARSET=utf8;

        如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。

        AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。        

        PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。

        ENGINE 设置存储引擎,CHARSET 设置编码。

10.MySQL 删除数据表

        Drop table table_name;

11.MySQL 插入数据

          Insert into table_name ( field1,field2,...fieldN)   values (value1,value2,...valueN);

12.MySQL 查询数据

        select column_name,column_name from table_name [where clause][limit n][offset m];

13.MySQL WHERE 子句

        select field1, field2,...fieldN FROM table_name1, table_name2...
                [WHERE condition1 [AND [OR]] condition2.....

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

14.MySQL UPDATE 更新

        update table_name set field1=new-value1, field2=new-value2 [WHERE Clause]

15.MySQL DELETE 语句

        delete FROM table_name [WHERE Clause]

16.MySQL LIKE 子句

        SELECT field1, field2,...fieldN FROM table_name WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue';

        示例:select * from student_test_table where Telephone like '18%';

17.MySQL UNION 操作符

        SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions]
        UNION [ALL | DISTINCT]
        SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions];

        DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。

        ALL: 可选,返回所有结果集,包含重复数据。

        示例:

                select name from student_test_table where age >=30 
                union
                select name from teacher_test_table where age >=20 

18.MySQL 排序

        SELECT field1, field2,...fieldN FROM table_name1, table_name2...
ORDER BY field1 [ASC [DESC][默认 ASC]], [field2...] [ASC [DESC][默认 ASC]]

        可以使用任何字段来作为排序的条件,从而返回排序后的查询结果。

        可以设定多个字段来排序。

        可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。

        可以添加 WHERE...LIKE 子句来设置条件。

19.MySQL GROUP BY 语句

        SELECT column_name, function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name;    

        使用 WITH ROLLUP

         WITH ROLLUP 可以实现在分组统计数据基础上再进行相同的统(SUM,AVG,COUNT…)。

        示例:

mysql> SELECT * FROM employee_tbl;
+----+--------+---------------------+--------+
| id | name   | date                | signin |
+----+--------+---------------------+--------+
|  1 | 小明 | 2016-04-22 15:25:33 |      1 |
|  2 | 小王 | 2016-04-20 15:25:47 |      3 |
|  3 | 小丽 | 2016-04-19 15:26:02 |      2 |
|  4 | 小王 | 2016-04-07 15:26:14 |      4 |
|  5 | 小明 | 2016-04-11 15:26:40 |      4 |
|  6 | 小明 | 2016-04-04 15:26:54 |      2 |
+----+--------+---------------------+--------+
使用 GROUP BY 语句 将数据表按名字进行分组,并统计每个人有多少条记录
mysql> SELECT name, COUNT(*) FROM   employee_tbl GROUP BY name;
+--------+----------+
| name   | COUNT(*) |
+--------+----------+
| 小丽 |        1 |
| 小明 |        3 |
| 小王 |        2 |
+--------+----------+
3 rows in set (0.01 sec)

将以上的数据表按名字进行分组,再统计每个人登录的次数:

SELECT name, SUM(signin) as signin_count FROM  employee_tbl GROUP BY name WITH ROLLUP;
+--------+--------------+
| name   | signin_count |
+--------+--------------+
| 小丽 |            2 |
| 小明 |            7 |
| 小王 |            7 |
| NULL   |           16 |
+--------+--------------+
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值