cmd登录 mysql.exe -hlocalhost -P3306 -uroot -p密码
查看数据库 show databases;
创建数据库 create database 数据库名;
删除数据库 drop databases 数据库名;
查看具体数据库 show databases like '需要查找数据库的开头命名%';
查看数据库属性 show create database 数据库名;
使用数据库 use 数据库名;
查看表 show tables;
查看表属性 show create table 表名;
查看表结构 desc 表名;
查询表所有数据 select all * from 表名;
查询不重复数据 select distinct * from 表名;
删除表 drop table 表名字;
插入某行信息 insert into 表名 values('对应的列','对应的列'); PS:这里假设此表只有两个列
更替某行信息 replace into 表名 values('对应的列','对应的列'); PS:这里假设此表只有两个列
蠕虫复制 insert into 表名(列名) select * from 表名; PS:可重复操作,不断倍增行。
更新数据 update 表名 set 列名 = '需要更改的数据' where 列名 = '更新的数据';
插入数据 update 表名 set 列名 = '需要插入的数据' where 自定义条件;
截断表 truncate 表名; PS:truncate(截断)这个查询应用于auto_increment的从新开始计数
列子查询实现 select 列名1 from 表名1 where 列名2 in (select 列名2 from 表名2);
别名查询实现 select *,if(条件语句,'结果是','结果否') as 自定义表名 from 表名;
表的操作撤销 先执行 begin; 而后执行rollback; 中途不可执行commit;
表添加新列 alter table 表名 add 新列名 列的类型;
表删除旧列 alter table 表名 drop 需要删除的列名;
表进行分组 update 表名 set 新列名 where 列名 自定义条件; PS:此处的条件自行定义,没有特别格式要求。
查询分组对象 select * from 表名 group by 新列名;
查询分组数据 select 新列名,count(*),max(自定义列名),min(自定义列名),avg(自定义列名) from 表名 group by 新列名;
以下语句前均添加select
char_length():判断字符串的字符数
length():判断字符串的字节数
concat():拼接字符串
instr():判断字符在目标字符串是否存在,存在返回其位置,不存在返回0。
lcase():全部小写
left():从左侧指定位置开始截取字符串
ltrim():消除左边对应的空格
mid():从中间指定位置开始截取,如果不指定截取长度,直接到最后。
now():返回当前时间,日期时间
curdate():放回当前日期
curtime():返回当期时间
datediff():判断两个日期之间的天数差
date_add():进行时间的增加
unix_timestamp():返回值为自1970-01-01 00:00:00到当前时间的秒数差