MySQL笔记

熟悉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 -p

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

mysqladmin相关命令

修改密码:

mysqladmin -u -p password 

判断服务是否启动:

第一种方式:
mysqladmin -u -p ping
>mysqld is alive

第二种方式:
netstat -ano | grep mysql

第三种方式:
ps -ef | grep mysql

查看数据库版本信息:

mysqladmin -u -p version

查看所有的全局变量:

mysqladmin -u -p variables

查看数据库状态信息:

mysqladmin -u -p status

查看所有连接的客户端:

mysqladmin -u -p processlist

杀掉某个连接的客户端:

mysqladmin -u -p kill 

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

mysqladmin -u -p create 
mysqladmin -u -p drop 

关闭服务:

第一种方式:
mysqladmin -u -p 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 -P -u -p

查看、使用数据库:

SHOW DATABASES;
USE ;

显示正在使用的数据库:

SELECT DATABASE();

删除数据库:

DROP DATABASE ;

查看表、创建表:

SHOW TABLES;
CREATE TABLE 
(
     ,
    ......
);

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

检索:

#检索所有列
SELECT * FROM ;

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

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

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

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

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

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

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

5、过滤数据,使用 WHERE 子句:
SELECT , , ... FROM , , ... WHERE  [=,<>,!=,<,!<,<=,>,!>,>=,BETWEEN,IS NULL] ;
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笔记)