MySQL语句语法汇总

一、数据库基础操作

1.数据库操作——创建、删除、切换、查看当前选择的数据库
create database 数据库名 charset=utf8;   //创建数据库
drop database 数据库名;  //删除数据库
use 数据库名;        //选择数据库
select database(); //查看当前选择的数据库
show databases; //查看当前所有的数据库:

2.表操作——查看、删除、修改

show tables; //查看当前数据库中的所有表
CREATE TABLE IF NOT EXISTS `tc_base`(`tc_base_id` INT UNSIGNED //创建表 UTO_INCREMENT,   PRIMARY KEY ( `tc_base_id` ) )ENGINE=InnoDB DEFAULT CHARSET=utf8;
alter table 表名 add|change|drop 列名 类型;   //修改表         drop table 表名;    //删除表    
desc 表名;   //查看表结构     rename table 原表名 to 新表名;    //更改表名称
alter table testalter_tbl change 旧列名字 新列名字 bigint;    //更改表中列信息
show create table 表名;     //查看表的创建语句

 

3.数据操作

全列插入:insert into 表名 values(...) ;缺省插入:insert into 表名(列1,...) values(值1,...)
delete from 表名 where 条件; //删除   update 表名 set 列1=值1,..,where 条件    //修改
select * from 表名; //查询

4.备份与恢复

  备份>:进入mysql目录,运行mysqldump命令:mysqldump –uroot –p 数据库名 > ~/Desktop/备份文件.sql;

  恢复<:连接mysql创建数据库,退出连接执行命令: mysql -uroot –p 数据库名 < ~/Desktop/备份文件.sql

二、MySQL查询

1.消去重复行:select distinct gender from students;
2.条件 优先级:小括号,not,比较运算符,逻辑运算符
①逻辑运算符:and or not         ②模糊查询:like %任意多 _任一个(可能一个汉字两个_)
③范围查询in、between andis nullis not null: select * from students where id in(1,3,8);
3.聚合 count(*) max min sum avg(列) select avg(id) from students where isdelete=0 and gender=0;
4.分组:例如:select gender as 性别,count(*) from students group by gender having gender=1;
5.排序     默认asc升序 select * from students where gender=1 order by id desc;
6.获取部分行        select * from 表名 limit start,count
完整的查询语句:select distinct * from 表名 where .... group by ... having ... order by ... limit star,count

 

三、连接查询

select students.sname,avg(scores.score) from scores inner join students on scores.stuid=students.id;

 

四、嵌套查询(子查询)

select sname, (select score from scores where sub.stitle='语文') as 语文from students stu;

 

五、字符串函数

    ①查看字符对应的ascii码 select ascii('a');    ②查看ascii对应的字符 select char(97);
    ③拼接字符串select concat(12,34,'ab');        ④字符串长度 select length('abc');
    ⑤截取字符串select substring('abc123',2,3); ⑥去除空格 select trim(' bar ');
    ⑦替换字符串select replace('abc123','123','def');    ⑧大小写转换 select lower('aBcD');

六、数学函数

①绝对值abs()        ②求余mod()  ③向下取整 floor()    ④向上取整ceiling()       ⑤四舍五入 round()
⑥x的y次幂pow(x,y)     ⑦圆周率PI()   ⑧0-1.0的随机浮点数 rand()

 

posted @ 2022-09-05 09:23  StarZhai  阅读(291)  评论(0编辑  收藏  举报