设为首页 加入收藏

TOP

Mysql的命令总结(一)
2019-09-17 18:42:57 】 浏览:70
Tags:Mysql 命令 总结

Mysql常用命令

启动

net start mysql

关闭

net stop mysql

连接mysql

mysql -uroot -ppssword
mysql -uroot -P3307 -ppssword

修改密码

mysqladmin -uroot - p123456 password 123

增加用户

create user 'lisi'@'%' IDENTIFIED By '123456'

用户授权

grant select,insert on test.user to 'lisi'@'%'

授予李四查询和插入的权限,生效范围是test数据库下的user表。需要注意的是如果不对用户授权,用户都可能无法登陆。

设置用户密码

set password for 'lisi'@'%' = password('lisi')

设置lisi的用户密码为lisi

删除用户

DROP USER 'lisi'@'%'

新建数据库

create database db_name

显示数据库

show databases

删除数据库

drop database db_name

使用数据库

use db_name

查询mysql的版本好

select version()

查询系统时间

select now()

新建表

create table table_name(
    id int primary key auto_increment,
    name varchar(50) not null
);

插入表

insert into table_name values (value1,value2),(value1,value2);

可以一次性插入多个值,需要注意的是值必须与属性列一一对应

查询表

select *  from table_name

删除数据

delete from table_name where 列名=value;

修改数据

update table_name set  列名1=value1 where 列名2=value2;

增加字段

alter table table_name add 属性列 类型 约束

删除字段

alter table table_name drop column_name

新建主键索引

alter table table_name add primary key(id)

新建普通索引

alter table table_name add index 索引的名字 (属性列)

索引的名字一般是  表名_属性名

新建唯一索引

alter table table_name add unique 索引的名字 (属性列)

删除索引

alter table table_name drop index 索引名

导出数据库

mysqldump -uroot -ppassword 数据库的名字 > 导出路径\表名.sql

导出表

mysqldump -uroot -ppassword 数据库的名字 表名 > 导出路径\表名.sql

数据库还原

mysql -uroot -ppassword 库名 < sql所在的路径

查看引擎

show engines;
show variables like '%storage_engine%';

必知必会

1. show相关
    1. show databases : 返回可用的数据库列表
    2. show tables : 返回当前选择的数据内可用表的列表
    3. show columns from tab_name : 返回表的所有字段
    4. describe tab_name : 同上
    5. show status : 显示广泛的服务器状态信息
    6. show create database/table : 显示创建特定数据库或表的MYSQL语句
    7. show errors/warnings : 显示服务器错误或警告信息
    8. help show : 显示允许的show语句
2. 查询相关
    1. SELECT DISTINCT col_name FROM tab_name : 查询不同的值,也就是去重
    2. SELECT col_name FROM tab_name LIMIT start_index, rows : 限制查询结果(一般用于分页查询),后面的参数代表开始索引和查询的行数
    3. SELECT col_names FROM tab_name ORDER BY col_names : 默认是升序排序,可以使用DESC来改变排序规则,也可以指定多个列来进行排序(可以使用非查询列来进行排序)
    4. SELECT col_names FROM tab_name WHERE 条件 : 过滤查询
        1. WHERE子句的操作符
            1. = : 等于
            2. <> : 不等于
            3. != : 不等于
            4. < : 小于
            5. <= : 小于等于
            6. > : 大于
            7. >= : 大于等于
            8. BETWEEN 1 AND 2 : 在指定的两个值之间
    5. NULL的判断 : 使用 IS NULL进行判断(注意NULL与0,空字符串,仅仅包含空格是不相同的)
    6. 多个条件同时匹配中间用AND连接,匹配任一条件中间用OR连接,二者并存的时候需要考虑次序问题,一定要加上括号,避免产生歧义
    7. SELECT col_names FROM tab_name WHERE col_name IN (1,2) : 表示或1或2都可以,也就是OR的简单写法  
    8. NOT的使用,NOT IN找出与条件列表不匹配的行
    9. LIKE,%,_的使用,LIKE表示模糊查询,%表示匹配任意字符出现任意次数(包括0个字符),_匹配任意的单个字符
        1. 不要过度使用通配符,通配符会消耗很大的内存,花费时间更长.

3. 正则相关
    1. 正则与like的区别
        1. LIKE匹配整个列,如果被匹配的文本在列值中出现,LIKE将不会找到它,相应的行也不会返回
        2. REGEXP在列值内匹配,如果被匹配的文本在列值中出现,REGEXP将会找到它,相应的行被返回
        3. 例子:
            1. SELECT prod_name FROM products WHERE prod_name LIKE '1000';
            2. SELECT prod_name FROM products WHERE prod_name REGEXP '1000'
            3. 上面两个sql语句查询结果是不相同,如果数据库中在prod_name为1000的行
    2. 点的使用,Mysql中的.是一个特殊字符,表示匹配任意一个字符.
        1. SELECT prod_name FROM products WHERE prod_name REGEXP '.000';
        2. SELECT prod_name FROM products WHERE prod_name LIKE '%000%'; 
        3. 上面两个sql的查询结果是相同的.
    3. 正则表达式OR的匹配的多种写法
        1. SELECT prod_name FROM products WHERE prod_name REGEXP '1000|2000';  /*匹配其中之一*/
        2. ELECT prod_name FROM products WHERE prod_name REGEXP '[123] Ton';  /*匹配几个字符之一*/
        3. SELECT prod_name FROM products WHERE prod_name REGEXP '[1-5] ton';  /*匹配范围,匹配1到5之间的任意数字 + ton*/
    4. 匹配特殊字符,也就是匹配.等等
        1. 使用转义字符,一般正则表达式的转义字符是 \,但是在Mysql中要求
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇我的Spark SQL单元测试实践 下一篇MySQL -- 练习题

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目