博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql入门
阅读量:2354 次
发布时间:2019-05-10

本文共 2620 字,大约阅读时间需要 8 分钟。

安装mysql

1.如果系统曾经安装过mysql,需要先将mysql全部清除:

dpkg -l |grep 'mysql'显示系统安装了哪些mysql包;

dpkg -r xxx --purge彻底清除已经安装的mysql包;

2.根据http://www.cnblogs.com/168cuiyuan/archive/2012/08/30/2663358.html安装

3.上述安装方法会将mysql默认安装到/opt/mysql目录下,此时不能直接使用mysql命令,需要将/opt/mysql/bin目录加入系统PATH路径‘

4.直接使用mysql命令时,需要先启动/etc/init.d/mysql start则会报错“ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)”

参考:http://blog.csdn.net/byane/article/details/8609086

注:mysql命令不区分大小写!

*mysql.server 启动时从/etc/mysql目录下读取my.cnf文件,如果使用/etc/init.d/mysql start失败,报错找不到socket文件,只需将/etc/mysql目录下的my.cnf文件删除即可。

客户端常用命令

1.进入数据库

mysql -h localhost -u root -p该命令会要求数据root用户的命令

mysql -p123456会默认作为root用户登录,如果root用户的密码是123456,则可以直接进入数据库,否则会连接失败(-p后面没有空格)

mysql -p mydatabse 连接到们又database数据库(-p后面有空格)

2.show databases列出所有的数据库

3.use mydatabase使用mydatabase数据库

4.show tables显示某个数据库下的所有表

5.load data local file "/home/tmp/tables.txt" into table mytable;在/home/tmp/tables.txt中列出mytable表中需要插入的数据,用tab键隔开,该命令能够批量插入记录。

6.select database();该命令检查当前用户使用的数据库,如果没有选择数据库,则返回为NULL

7.describe mytable;显示mytable表有哪些字段, 以及各个字段的属性

8.使用脚本运行mysql命令

mysql -h localhost -u user -p < batch-filebatch-file是含义mysql命令的脚本文件,执行该命令要求输入user的密码

9.在命令后加\G参数,能够将结果按列显示;

 

DBA常用命令(使用innodb引擎)

1、show variables like "innodb_buffer_%“; 查看innodb缓冲池的参数;

2、show engine innodb status \G查看过去几个小时内innodb引擎的使用情况,判断数据库运行的状态;

mysql常用函数

1.Concat()将select的结果结合到一起;

   RTrim()和Trim()将select的列值右边/左边的空格删除;

   Upper()和Lower()将字符串转换为大写或小写;

   Left()返回串左边的字符;

   Length()返回串长;

   Locate()找到串的一个子串

   Soundex()可以匹配发音相同的字符串;

   SubString();

2.AddDate()

   AddTime()

   CurDate()

   CurTime()

   Date()提取时间中的日期

   Time()获得完整的时间

   .……

3.Abs()

   Cos()

   Exp()返回指数值

   Mod()

   Pi()

   Rand()产生一个随机数

   Sin()

   Sqrt()

   Tan()

   ……

关键字

SELECT,CREATE TABLE…表名…(…列名 列类型 列限定属性…)…ENGINE=引擎类型…,DELETE…表名…WHREE…限定条件…,DROP…表名…,UPDATE…表名…SET…列名=列值…WHERE…限定条件…,ALTER TABLE —待更改结构的表名—,RENAME TABLE…原表名…TO…新表名…,

DESC,ASC,ORDER BY,GROUP BY,

MAX,MIN,COUNT,LIMIT,

INNER JOIN ... ON ...,LEFT JOIN ... ON ...,

AUTO_INCREMENT,

LIKE,REGEXP

AS,HAVING组级过滤

DELIMITER 临时更改mysql命令行的语句结束标志 常用在存储过程的定义中,

存储过程:

1.DELIMIER ##

CREATE PROCEDURE……

BEGIN

……

END##

DELIMITER ;

2.SHOW CREATE PROCEDURE …过程名… STATUS;

3.SHOW PROCEDURE STATUS;

4.CALL PROCEDURE …过程名…(…参数…);

事务:

START TRANSACTION;

COMMIT;

ROLLBACK;ROLLBACK TO 保留点;

SAVEPOINT …保留点名称…;

RELEASE SAVEPOINT;

备注

1.LIKE和REGEXP的区别:

like匹配整个列的值,而REGEXP只匹配目标内容;eg,匹配“HUST”,LIKE只有当列值为HUST时才为匹配,而REGEXP可以匹配“I'm HUSTER”,"HUST is huzhong university."等等内容。

2.REGEXP匹配的通配符:

*             任意个字符

+             一个或一个以上的字符

?           0个或1个字符

{n}   {n,}   {n,m}       n到m个字符

^              从头开始匹配

$             匹配到结尾

[[:<:]]       单词的开始

[[:>:]]        单词的结尾

3.MyISAM vs Innodb

Innodb是可靠的事务处理引擎,但是不支持全文本搜索;MyISAM数据存储在内存中,速度快,但是不支持事务处理;

 

你可能感兴趣的文章
(分享)win10下双显示屏独立设置不同缩放率的方法
查看>>
管理学十大经典定理
查看>>
杨澜的一句话,却要让我记一生
查看>>
U盘使用心得
查看>>
作为程序员的心态
查看>>
struts 2 s:if标签的使用
查看>>
input 按钮背景,在IE6 IE7中不显示
查看>>
div使用margin:0px auto 不居中
查看>>
JavaScript 事件模型 事件处理机制
查看>>
Invalid character constant
查看>>
CSS浏览器兼容性问题 归纳
查看>>
Java:Java快速入门[转]
查看>>
javascript中的变量作用域
查看>>
margin折叠的问题
查看>>
http状态头列表
查看>>
CSS hack 收集
查看>>
Markdown 语法
查看>>
前端工程师面试考察要点
查看>>
前端面试题——js闭包
查看>>
阿里实习生面试——电面1
查看>>