mysql学习计划_mysql学习笔记

1、删除数据:

delete from表名 where条件;

自增值会累加;

清空表:

truncate table表名;

重置自增值;

2、关闭MySQL的事务自动提交

start transaction

DML ...

commit | rollback

3、字符处理:

concat(str1,str2,...) 所有字符连接起来

trim(str) 删除首位两侧空格(不删除字符串内的空格)

ltrim(str) 删除str左侧空格

rtrim(str) 删除str右侧空格

4、日期函数:

sysdate() | now() 返回系统当前时间

curdate() 返回系统当前日期

curtime() 返回系统当前时间,不含日期

dayofmonth(date) 计算日期d是本月的第几天

dayofweek(date) 日期d是星期几,数字

dayofyear(date) 返回指定年份的天数

dayname(date) 返回d日期是星期几

5、转换函数:

date_format(date,formate)

str_to_date(str,format)

%Y %m %d

6、通用函数

ifnull(expr1,expr2):判断expr1是否为null,如果为null,输出expr2

nullif(expr1,expr2):相等返回null,不等返回expr2

if(expr1,expr2,expr3):expr如果为真,输出expr2,不为真输出expr3

case when then else end 条件函数

7、外连接

用union连接两个左(右)外连接

union 剔除重复行

union all 不剔除重复行

8、MySQL中的正则表达式:

正则表达式性能高于like

使用regexp关键字表示正则匹配

默认忽略大小写,如果要区分大小写,使用binary关键字

格式:select 列名 form 表名 where 列名 regexp ‘^x’

^ 字符串的开始

$字符串的结尾

.任何单个字符

[...] 在方括号内的任何字符列表,可搭配 | 使用

[^...] 非在方括号内的任何字符

p1 | p2 | p3 匹配任何模式 p1 或 p2 或p3

* 零个或多个前面的元素

+ 前面的元素的一个或多个实例

{n} 前面的元素的n个实例

{m,n} m 到 n个实例前面的元素

‘o{2}’ 包含连续两个o

‘o.{2}’ 包含两个o

9、索引:

普通索引:最基本的索引,没有任何限制

唯一索引:

主键索引:

组合索引:

全文索引:

查询索引:show index from 表名

创建索引:create index索引名 on 表名(列名(长度))

直接创建索引:create index 索引名 on表名 (列名(长度))

修改表添加索引: alter table 表名 add index 索引名(列名(长度))

创建表时指定索引:... index 索引名 (列名(长度))

删除索引:drop index索引名on表名

创建唯一索引:create unique index 索引名 on 表名(列名(长度))

修改表添加唯一索引:alter table 表名 add unique 索引名(列名(长度))

修改表添加主键索引:alter table 表名add primary key(列名)

添加组合索引: 遵循最左前缀原则

10、全文索引

全文搜索只支持myisam搜索引擎:alter table 表名 engine=myisam

添加全文引擎:alter table 表名 add fulltext 索引名 (列名)

create fulltext index 索引名 on表名(列名)

删除:drop index 索引名on 表名;

使用全文索引:

select 列名 from 表名where match(全文索引列名) against(‘搜索内容’)

创建全文索引时指定ngram解析器:

alter table表名 add fulltext 索引名 (列名) with parser ngram

11、课外:

创建表的过程:show create table 表名;

查看存储引擎:show engines;

重建索引:repair table 表名quick;

查看最小索引长度:show global variables like ‘%_word_len%’

12、创建用户:

create user 用户名 identified by ‘密码’

查看用户:

select user,nost from user

分配权限:

grant权限 on数据库.表to 用户名@登录主机地址 identified by‘密码’

权限分类:

alter :修改表和索引

create:创建数据库和表

delete :删除表中已有的记录

drop:删除数据库和表

index:创建或删除索引

insert:向表中插入新行

select:检索表中的记录

update:修改现存表记录

file:读或写服务器上的文件

process :查看服务器中执行的线程信息或杀死线程

reload:重载授权表或清空日志、主机缓存或表缓存

shutdown:关闭服务器

all:所有权限,all privileges同义词

usage:特殊的“无权限”权限

刷新权限:

flush privileges

删除用户:

drop user 用户名@主机地址

分页查询:

select 投影列from 表名where条件 order by [列名] limit开始位置,查询数量

select 投影列from 表名 where 条件 order by [列名]limit查询数量 offset开始位置

31、执行计划

查看执行计划:explain

32、导入语导出

导入:

source D:\dbname.sql

-u root -p 数据库名

导出:

导出整个数据库:mysqldump -u root -p 数据库名 >dbname.sql

导出一个表:mysqldump -u root -p 数据库名 表名>dbname.sql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值