一、数据库基础操作
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 and、is null、is 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()