一看即会完整的MySQL数据库基本SQL语句

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到当前时间的秒数差

猜你喜欢

转载自blog.csdn.net/qq450855246/article/details/82013536