mysql 数据库基本操作
2017-11-15 10:42
441 查看
数据库表的数据操作简称为 CRUD ( 增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete) )
1. cmd 连接数据库
mysql -u root -p;
2. 数据库管理
1. 查询全部数据库
show databases;
2. 创建数据库
create database day15;
create database day15 default character set utf-8;
3. 删除数据库
drop database day15;
4. 查看数据库的默认字符集
show create database day15;
5. 修改数据库的字符集
alter database day15 default character set gbk;
6. 选定某个数据库
use day15;
3. 表管理
1. 查看全部的表
show tables;
2. 创建表
create table student( sid int, sname varchar(20), age int );
3. 查看表结构(字段以及类型)
desc student;
4. 删除表
drop table student;
5. 修改表
1) 添加表字段 (add column)
alter table student add column sgender varchar(2);
2) 删除表字段 (drop column)
alter table student drop column sgender;
3) 修改表字段名字 (change column)
alter table student change column sgender gender varchar(2);
4) 修改字段类型 (modify column)
alter table student modify column sgender varchar(20);
5) 修改表名
alter table student rename to teacher;
6. 增删改数据( insert into, update, delete from )
1.1 增加数据 (插入所有字段,一定要依次按顺序插入,不能多字段,也不能少字段)
(insert into)
insert into student values(1, '张三','男',20);
insert into student(id, name) values(2, '李四');
1.2 修改数据(update)
1.修改所有记录
update student SET gender='女';
2.带条件的修改(建议使用)
update student SET gender='男' WHERE id=1
3. 同时修改多个字段 (SET 字段名=值,字段名=值,...)
UPDATE student SET gender='男',age=30 WHERE id=2;
1.3 删除数据( delete from )
1.删除所有数据(建议少用)
delete from student;
2.带条件的删除(推荐使用)
delete from student where id=2;
3. delete from 与 truncate table
delete from 可以全表删除, 也可以带条件删除,只能删除表中数据,不能删除约束;使用delete from删除的数
据可以回滚(事务)
truncate table 全表删除,不能带条件删除,删除表中数据时,也删除了约束;数据不能回滚;
7 查询数据(重点)
7.1 查询所有列
select * from student;
7.2 查询指定列
select id, name, gender FROM student;
7.3 查询时添加常量列
( ‘java就业班’ 表示每条记录中的值, AS ‘年级’表示表列名字 )
select id, name, gender, age, 'java就业班' AS '年级' from student;
7.4 查询时合并列
需求: 查询每个学生的servlet和jsp的总成绩
select id,name.(servlet+jsp) AS '总成绩' from student;
7.5 查询时,去除重复记录(DISTINCT)
需求:查询学生的性别(结果将只会有性别这一项值)
select distinct gender from student;
select distinct(gender) from student;
select distinct(address) from student;
7.6 条件查询
条件查询 where
7.6.1 逻辑条件: (and逻辑与, or逻辑或)
select * from student WHERE id=2 AND name='李四; 取交集
select * from student WHERE id=2 OR name='张三'; 取并集
7.6.2 比较条件: (>,>=,<,<=, = <>不等于, between and (等价于>= 且 <=) )
select * from student WHERE servlet>70;
select * from student WHERE jsp>=75 AND jsp<=90;
select * from student where jsp between 75 AND 90;
select * from student where gender<>'男';
7.6.3 判空条件 (null空字符串) is null, is not null,
空 null
空字符串 '' (空字符串是有值的)
//判断null
select * from student where address is NULL;
//判断空字符串
select * from student where address is NULL OR address='';
select * from student where address is not null or address<>'';
7.6.4 模糊查询 LIKE
通常使用一下替换标记:
%: 表示替换任意个字符;
_: 表示替换任意一个字符;
查询姓‘张...’
select * from student where name like '李%';
查询姓 '张_'
select * from student where name like '李_';
select * from student where name link '%李%名_%'
7.6.5 聚合查询
常使用的聚合函数(将所有记录的某列值进行计算) sum(),avg(),max(),min(),count()
查询学生的servlet的总成绩 (sum() 求和函数)
select sum(servlet) AS 'servlet的总成绩' from student;
查询学生的servlet的平均分 ( avg() 平均数 )
select avg(servlet) AS '平均分' from student;
查询当前servlet的最高分 ( max() 最大数 )
select max(servlet) AS '最高分' from student;
查询当前servlet的最低分 ( min() 最小数 )
select min(servlet) AS '最低分' from student;
统计当前有多少学生 (count字段)
select count(*) from student;
select count(1) from student;s
7.6.6 分页查询 LIMIT
分页查询 ( limit 起始行,长度 )
查询第一页的数据(查询第1,2条记录)
select * from student limit 0,2;
查询第二页的数据(查询第3,4条记录)
select * from student limit 2,2;
查询第三页的数据(查询第5,6条数据)
select * from student limit 4,2;
7.6.7 查询排序 order by
语法: order by 字段 asc/desc
默认情形,按照插入记录顺序排序
select * from student;
按照id顺序排序
select * from student order by id ASC;
select * from student order by id ; --默认正序
select * from student order by id DESC; --反序
2) 多个排序条件 ( order by servlet asc, jsp desc,... )
select * from student order by servlet asc, jsp desc;
7.6.8 分组查询(group by) --distinct只能获取某列具有不同值;
查询男女的人数.
select gender,count(*) from student group by gender;
7.6.9 分组查询后筛选
查询总人数大于2的性别
注意: 分组之前条件使用where关键字,分组之前条件使用having关键字
select gender,count(*) from student where group by gender having count(*)>2;
1. cmd 连接数据库
mysql -u root -p;
2. 数据库管理
1. 查询全部数据库
show databases;
2. 创建数据库
create database day15;
create database day15 default character set utf-8;
3. 删除数据库
drop database day15;
4. 查看数据库的默认字符集
show create database day15;
5. 修改数据库的字符集
alter database day15 default character set gbk;
6. 选定某个数据库
use day15;
3. 表管理
1. 查看全部的表
show tables;
2. 创建表
create table student( sid int, sname varchar(20), age int );
3. 查看表结构(字段以及类型)
desc student;
4. 删除表
drop table student;
5. 修改表
1) 添加表字段 (add column)
alter table student add column sgender varchar(2);
2) 删除表字段 (drop column)
alter table student drop column sgender;
3) 修改表字段名字 (change column)
alter table student change column sgender gender varchar(2);
4) 修改字段类型 (modify column)
alter table student modify column sgender varchar(20);
5) 修改表名
alter table student rename to teacher;
6. 增删改数据( insert into, update, delete from )
1.1 增加数据 (插入所有字段,一定要依次按顺序插入,不能多字段,也不能少字段)
(insert into)
insert into student values(1, '张三','男',20);
insert into student(id, name) values(2, '李四');
1.2 修改数据(update)
1.修改所有记录
update student SET gender='女';
2.带条件的修改(建议使用)
update student SET gender='男' WHERE id=1
3. 同时修改多个字段 (SET 字段名=值,字段名=值,...)
UPDATE student SET gender='男',age=30 WHERE id=2;
1.3 删除数据( delete from )
1.删除所有数据(建议少用)
delete from student;
2.带条件的删除(推荐使用)
delete from student where id=2;
3. delete from 与 truncate table
delete from 可以全表删除, 也可以带条件删除,只能删除表中数据,不能删除约束;使用delete from删除的数
据可以回滚(事务)
truncate table 全表删除,不能带条件删除,删除表中数据时,也删除了约束;数据不能回滚;
7 查询数据(重点)
7.1 查询所有列
select * from student;
7.2 查询指定列
select id, name, gender FROM student;
7.3 查询时添加常量列
( ‘java就业班’ 表示每条记录中的值, AS ‘年级’表示表列名字 )
select id, name, gender, age, 'java就业班' AS '年级' from student;
7.4 查询时合并列
需求: 查询每个学生的servlet和jsp的总成绩
select id,name.(servlet+jsp) AS '总成绩' from student;
7.5 查询时,去除重复记录(DISTINCT)
需求:查询学生的性别(结果将只会有性别这一项值)
select distinct gender from student;
select distinct(gender) from student;
select distinct(address) from student;
7.6 条件查询
条件查询 where
7.6.1 逻辑条件: (and逻辑与, or逻辑或)
select * from student WHERE id=2 AND name='李四; 取交集
select * from student WHERE id=2 OR name='张三'; 取并集
7.6.2 比较条件: (>,>=,<,<=, = <>不等于, between and (等价于>= 且 <=) )
select * from student WHERE servlet>70;
select * from student WHERE jsp>=75 AND jsp<=90;
select * from student where jsp between 75 AND 90;
select * from student where gender<>'男';
7.6.3 判空条件 (null空字符串) is null, is not null,
空 null
空字符串 '' (空字符串是有值的)
//判断null
select * from student where address is NULL;
//判断空字符串
select * from student where address is NULL OR address='';
select * from student where address is not null or address<>'';
7.6.4 模糊查询 LIKE
通常使用一下替换标记:
%: 表示替换任意个字符;
_: 表示替换任意一个字符;
查询姓‘张...’
select * from student where name like '李%';
查询姓 '张_'
select * from student where name like '李_';
select * from student where name link '%李%名_%'
7.6.5 聚合查询
常使用的聚合函数(将所有记录的某列值进行计算) sum(),avg(),max(),min(),count()
查询学生的servlet的总成绩 (sum() 求和函数)
select sum(servlet) AS 'servlet的总成绩' from student;
查询学生的servlet的平均分 ( avg() 平均数 )
select avg(servlet) AS '平均分' from student;
查询当前servlet的最高分 ( max() 最大数 )
select max(servlet) AS '最高分' from student;
查询当前servlet的最低分 ( min() 最小数 )
select min(servlet) AS '最低分' from student;
统计当前有多少学生 (count字段)
select count(*) from student;
select count(1) from student;s
7.6.6 分页查询 LIMIT
分页查询 ( limit 起始行,长度 )
查询第一页的数据(查询第1,2条记录)
select * from student limit 0,2;
查询第二页的数据(查询第3,4条记录)
select * from student limit 2,2;
查询第三页的数据(查询第5,6条数据)
select * from student limit 4,2;
7.6.7 查询排序 order by
语法: order by 字段 asc/desc
默认情形,按照插入记录顺序排序
select * from student;
按照id顺序排序
select * from student order by id ASC;
select * from student order by id ; --默认正序
select * from student order by id DESC; --反序
2) 多个排序条件 ( order by servlet asc, jsp desc,... )
select * from student order by servlet asc, jsp desc;
7.6.8 分组查询(group by) --distinct只能获取某列具有不同值;
查询男女的人数.
select gender,count(*) from student group by gender;
7.6.9 分组查询后筛选
查询总人数大于2的性别
注意: 分组之前条件使用where关键字,分组之前条件使用having关键字
select gender,count(*) from student where group by gender having count(*)>2;
相关文章推荐
- MySQL 基本操作之数据库操作
- MYSQL 学习笔记 之 数据库基本操作2
- Mysql(一) - 数据库和表的基本操作 及 数值类型
- mysql 基本语法学习1(数据库、数据表、数据列的操作)
- MySQL之终端Terminal(dos界面)管理数据库、数据表、数据的基本操作
- MySQL 基础学习一 数据库以及单表的基本操作
- MySQL 学习<二> 数据库的基本操作
- MySQL基础(一)- 数据库基本操作
- oracle mysql sqlserver 查看当前所有数据库及数据库基本操作命令
- MySQL操作数据库基本操作
- DF学Mysql(一)——数据库基本操作
- 数据库基本操作与mysql错误号
- MySQL的基本数据库操作命令
- MySQL 数据库、数据表、数据的基本操作
- 数据库(MySQL)表基本操作
- mysql 数据库的基本操作
- Mysql学习 Part1.数据库管理和基本操作
- Mysql基础—对数据库和表的基本操作
- MySQL知识点摘记——数据库基本操作
- oracle mysql sqlserver 查看当前所有数据库及数据库基本操作命令