1.打开终端,输入以下的命令输入mysql数据库的登录密码,然后就可以可以操作mysql数据库了。
/usr/local/MySQL/bin/mysql -u root -p
2.显示全部的mysql中全部的数据库的命令:
show databases; 分号结束,然后将命令发送mysql的服务器中去
3.创建数据库
create database day16 ---创建数据库
default character set utf8 ---设置编码方式
collate utf8_general_ci --- 指定默认的校验规则
4.删除数据库
drop database day16
5.修改数据库
alter database day16
default character set gbk; ----将默认的字符改成了gbk
6.查询全部数据库中全部的表
use day16 ---使用哪个数据库
show tables ---查询数据库中的所有的表
7. 创建表
create table student(
id int , ----字段 字段的名称 字段类型
name varchar(20),
age int
);
8.删除表
drop table student
9.修改表
alter table student add column gender varchar(2); ---添加一个字段
alter table student modify column remark varchar(2) --- 修改字段的类型
alter table student change column remark2 remark varchar(100) -- 修改字段名称
alter table student drop column a drop colum b; ----- 删除字段
alter table student rename to student2 --- 修改表名
10.管理数据
************************ 数据增删修改操作*************************
1.1.查看表的数据:
Select * from student;
1.2插入数据
插入所有列(所有列的值都要按照顺序依次插入)
Insert into student values(1,'zhufeng',20,‘广州人’,'男');
-- 插入的部分列的数据和值的顺序和数量一定要保持一致--
Insert into student(id,name,age,remark2)values(3,'jack','27','否山');
1.3修改数据库
--修改所有---(用的少)
update student Set gender=‘男’;
--修改某个某些条件的数据(用的比较多)
---update student Set gender='女' where id=2;
--修改多个列(set 列名=值,列名=值...)
--update student Set age=28 ,remakr2 =‘山东人’where id =2;
1.4删除数据
--删除表的所有的数据(用的比较少)
--注意:
--(1)只能删除表中的数据,不能影响表增长的约束
--(2)使用delete删除的数据,通过事务可以回滚
--(3)后面带条件
delete from student
---删除部分--
delete from student where id = 3
--删除所有数据---
---注意:
--(1)既能删除表的数据,也能够把表的子增长的约束为0
-- (2) 使用truncate删除的数据,不能回滚
-- (3) 后面不能带条件
Truncate table student;
11.查询数据
1.查询所有列
select * from student
2.查询指定列
select name gender from student;
3.查询时指定别名
select name as‘姓名’, gender as ‘性别’ from student;
--as可以省略
select name ‘姓名’,gender'性别' from student;
4.合并列查询
--添加servlet,jsp成绩列
alter table student add servlet int, add jsp int;
select * from student;
update setudent set servlet=86,jsp=75 where id =1;
update setudent set servlet=86,jsp=75 where id =2;
update setudent set servlet=86,jsp=75 where id =3;
update setudent set servlet=86,jsp=75 where id =4;
--需求:查询每个学生的servlet 和jsp的总成绩
-- 注意: 必须是数值类型
select name'姓名',(servlet+jsp)'总成绩' from student;
5.查询时太那几常量列
--查询时添加常量列
--需求:在查询学生表时候都带上一个班级列,内容为“java就业班"
select name'姓名',gender'性别',age'年龄','java就业班'as‘班级’from student
6.查询去除重复的数据
--需求:统计学生都来自于哪里
Select distinct remark2 from student;
--这种语法也可以
select distinct(remark2) from studnet;
7.条件查询(where)
select * from student
1.逻辑条件:and or
-- 需求:查询id为3 ,并且性别为男的学生(交集:两个条件同时满足)
select * from student where id= 3 and gender = '男';
--需求:查询id为3 ,或者性别为男的学生(并集:两个条件满足一个就行了)
select *from student where id= 3 or gender='男';
2.比较条件: > < >= <= = between and
-- 需求 查询servlet分数大于80分的学生
select * from student where servlet>80;
-- 需求 查询jsp分数小于或者等于80分的学生
select *from student where jsp<=80;
select * from student where jsp<80 or jsp=80;
-- 需求 查询servlet分数大于80分,且小于等于88的学生
select * from student where servlet>80 and servlet<=88;
--等价于
select * from student where servlet between 80 and 88 ;(包前包后)
3.判断空条件: =" is null <>" is not null
update student set remark2 = "" where id =1;
update student set remark2 = NULL where id = 4;
--null和空字符串的比较
--null : 没有数据 判断null: is null ,判断不为null: is not null
--空字符串: 有数据 数据就是空字符串 。判断空字符: =“; 判断不为空字符串:<>
4.模糊查询:like
--like后面跟上符合
--% 表示任意多个字符(0-多个)
--_:表示一个字符
--需求:查询姓张的学生
select * from student where name like '张%';
--需求 查询选择中包含‘张’字的学生
select * from student where neme like ‘%张%’;
--需求 查询姓张,并且姓名只有两个字的学生
select * from student where name like '张__'
12.聚合查询
--需求 查询所有学生的servlet的总分 (sum:求和函数)
select sum(servlet) from student;
--需求 查询所有的学生的servelt的平均分数 :(avg:平均数)
select AVG(servlet) from student;
--需求 查询最高的分数 (MAX: 最大值函数)
select * from MAX(servlet) from student;
---需求 查询最小的函数 (min:最小函数)
select * from MIN(servlet) from student;
---需求 一共几个学生 (COUNT:统计数量函数)
Select COUNT(*) from student;
select COUNT(ID)from student;
--注意 聚合函数,会排除null值的数据
select COUNT(remark2) from student;
13.分页查询
1.分组查询
--需求 查询男女的数量各自是多少
(1)对性别进行分组的(group by)
(2)在分组基础上进行集合函数总计
select gender,Count(*)'人数' from student group by gender;
2.分组筛选
1.分组筛选(group by+having(条件))
--需求 查询人数大于2的性别
--1分组 -- 2统计 3.统计
select gender COUNT(*) '人数' from student group by gender having count(*)>2