美文网首页
MySQL笔记

MySQL笔记

作者: defphot | 来源:发表于2018-02-27 17:28 被阅读0次

    熟悉MySQL基本命令

    Ubutnu下安装MySQL

    先更新一下源,修复依赖关系:

    sudo apt-get install update
    sudo apt-get install -f
    

    安装MySQL:

    sudo apt-get install mysql-server
    sudo apt-get isntall mysql-client
    sudo apt-get install libmysqlclient-dev
    

    安装过程中,会提示你输入root账号的密码,需要重复确认。

    快捷键ctrl+alt+t进入终端,键入:

    注意:在 <...> 内输入你自己的信息,默认username为root。

    mysql -u<username> -p<password>
    

    至此我们就成功进入MySQL数据库。

    mysqladmin相关命令

    修改密码:

    mysqladmin -u<username> -p<old password> password <new password>
    

    判断服务是否启动:

    第一种方式:
    mysqladmin -u<username> -p<password> ping
    >mysqld is alive
    
    第二种方式:
    netstat -ano | grep mysql
    
    第三种方式:
    ps -ef | grep mysql
    

    查看数据库版本信息:

    mysqladmin -u<username> -p<password> version
    

    查看所有的全局变量:

    mysqladmin -u<username> -p<password> variables
    

    查看数据库状态信息:

    mysqladmin -u<username> -p<password> status
    

    查看所有连接的客户端:

    mysqladmin -u<username> -p<password> processlist
    

    杀掉某个连接的客户端:

    mysqladmin -u<username> -p<password> kill <id>
    

    创建数据库和删除数据库:

    mysqladmin -u<username> -p<password> create <database>
    mysqladmin -u<username> -p<password> drop <database>
    

    关闭服务:

    第一种方式:
    mysqladmin -u<username> -p<password> shutdown
    
    第二种方式:
    service mysql stop
    

    启动服务:

    第一种方式:
    cd /usr/bin
    sudo ./mysqld_safe &
    
    第二种方式:
    启动 - service mysql start
    重启 - service mysql restart
    

    MySQL的CRUD操作(增Create、删Delete、查Retrieve、改Update)

    连接特定ip和port的mysql数据库,以-h(主机IP)、-P(端口)、-u(用户名)、-p(密码) 参数加输入信息的形式:

    mysql -h<host> -P<port> -u<username> -p<password>
    

    查看、使用数据库:

    SHOW DATABASES;
    USE <database>;
    

    显示正在使用的数据库:

    SELECT DATABASE();
    

    删除数据库:

    DROP DATABASE <database>;
    

    查看表、创建表:

    SHOW TABLES;
    CREATE TABLE <table_name>
    (
        <keyword> <keytype>,
        ......
    );
    

    其中的keyword自拟,而keytype选择MySQL内部定义的数据类型,查看更多MySQL字段类型

    检索:

    #检索所有列
    SELECT * FROM <table_name>;
    
    #检索单个列或者多个列
    SELECT <keyword1>, <keyword2>, ... FROM <table_name>;
    
    限制检索结果:
    1、检索不同值,忽略相同值,使用关键字 DISTINCT
    SELECT DISTINCT <keyword1>, <keyword2>, ... FROM <table_name>;
    

    注意:不能部分使用DISTINCT,DISTINCT关键字作用于所有的列,不仅仅是跟在其后的那一列。例如你指定 SELECT DISTINCT work_id, test_id FROM example_table; 除非指定的两列完全相同,否则所有的行都会被检索出来。

    2、限制检索结果的数量,使用 LIMIT (要显示的行数) OFFSET (偏移量)
    SELECT * FROM <table_name> LIMIT 5 OFFSET 1;
    
    3、排序检索结果,使用 ORDER BY 子句:
    ... ORDER BY <keyword1>, <keyword2>, ...;
    

    多个排序条件,依次进行排序。先按keyword1排序,结果中keyword1都一致,再按照keyword2排序,然后......。

    注意:通常,ORDER BY子句中使用的列将是为了显示而选择的列,但是,实际上并不一定要这样,用非检索的列排序数据是完全合法的。

    4、检索结果呈现顺序 默认升序与降序(DESC):
    ... ORDER BY <keyword1> DESC, <keyword2>, ...;
    

    关键字 DESC 只会应用到直接位于起前面的列名。

    5、过滤数据,使用 WHERE 子句:
    SELECT <keyword1>, <keyword2>, ... FROM <table_name1>, <table_name2>, ... WHERE <keyword> [=,<>,!=,<,!<,<=,>,!>,>=,BETWEEN,IS NULL] <value>;
    
    6、组合过滤条件:

    (1)AND操作符

    ... WHERE a = b AND c = d;
    

    仅仅显示 a=b 和 c=d 都满足条件的检索项。

    (2)OR操作符

    ... WHERE a = b OR c = d;
    

    顺序判断,先判断 a = b,如果成立,显示出来,不需要判断 c = d;如果不成立,再判断 c = d,如果成立,显示出来,若果不成立,过滤丢弃。有其他条件,依次进行判断。

    注意:
    WHERE子句可以包含任意数目的AND和OR操作符。允许两者结合以进行复杂、高级的过滤。但是,AND的优先级比OR高,盲目组合可能会引起意想不到的错误,为了正确使用组合条件,不过分依赖默认求值顺序,尽量使用圆括号分隔!

    (3)IN操作符

    ... WHERE a IN (b, c, d);
    => ... WHERE a = b OR a = c OR a = d;
    

    (4)NOT操作符

    ... WHERE a NOT IN (b, c, d);
    

    这里的NOT否定跟在其后的条件,在更复杂的子句中,使用NOT十分有用。

    7、LIKE操作符
    ... WHERE a LIKE "test_%";
    

    匹配字段a所有以“test_”开头的行。

    通配符类型:

    % - 匹配一段任意长度的字符串
    _ - 匹配单个字符
    [...] - 匹配指定的一个字符集(只有微软的Access和SQL Server支持集合)
    [^...]或者[!...] - 否定集合,不匹配指定的一个字符集
    
    未完待续

    相关文章

      网友评论

          本文标题:MySQL笔记

          本文链接:https://www.haomeiwen.com/subject/gupmxftx.html