MySQL(第一天)
2018-02-21 17:23
288 查看
声明:由于学习所用环境为JDK1.8,所有java代码均在JDK1.8中测试通过,如果环境发生改变,可能会有错误发生!
一、MySQL简介在DOS环境下操作MySQL
1、MySQL是一种中型的关系型数据库管理系统(DBMS,Database Management System)。
注意:关系型数据库是按照表的方式存储数据的。
2、在DOS环境下操作MySQL
通过DOS操作MySQL的常用命令:
1. 进入MySQL环境
mysql -h MySQL服务器地址 -u 用户名 -p
2. 显示所有数据库
show databases;
3. 进入某个数据库
use 数据库名称;
4. 显示所有表
show tables;
二、基本SQL语句
SQL:(Structured Query Language)结构化查询语言。操作关系型数据库的专用语言。
可分为:
DDL:数据库模式定义语言
DML:数据操纵语言
DQL:数据查询语言
DCL:数据控制语言
DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。eg:创建数据库、创建表(修改、删除)等操作。
DML(Data Manipulation Language),数据操纵语言,如插入(insert)数据、删除(delete)数据、修改(update)数据。
DQL:Data Query Language 数据查询语言。select查询数据。
DCL(Data Control Language)数据库控制语言。用来设置或更改数据库用户或角色权限的语句。
1、创建数据库
create database 数据库名称 [default character set 'utf8'];
注意:关系型数据库中的数据是存放于表中的,而表是存放于数据库中的。create database mydb default character set 'utf8';2、创建表
create table 表名称(
字段名1 数据类型 约束[primary key],
字段名2 数据类型 约束...,
字段名3 数据类型 约束...
);create table student(
stuid int auto_increment primary key,
name varchar(20) not null,
age int,
score double not null
);3、向表中插入记录
语法一(指定字段名插入记录):
insert into 表名称(字段A,字段B...)values(值A,值B..);insert into student(name,age,score)values('风清扬',25,95.5); 语法二:(不指定字段插入记录,插入的值对应于表 中的每个字段)
insert into 表名称 values(值1,值2,...);
insert into student values(12,'李寻欢',29,93);
语法三:(插入多条记录)
insert into 表名称(字段A,字段B...)values(值A1,值B1...),(值A2,值B2...)...;
insert into student(name,age,score)values('小明',50,60.5),('小军',45,65.3),
('小平',60,72.5);
4、删除数据
delete from 表名称 [where 条件]; delete from student where stuid=19;5、修改数据
update 表名称 set 字段名1=修改的值1 [,字段名2=修改的值2...] [where 条件];update student set score=score-10,age=age+1;
6、查询数据
select 字段名1 [as 别名],字段名2 [as 别名],... from 表名称 [where 条件];
select stuid,name,age,score from student where score>=80 and score<=90;
select * from student where score between 80 and 90;
select name as 学生姓名, score as 成绩 from student where score>=80 and score<=90;7、查看表的结构
1:排序查询
select 字段1,字段2... from 表名称 [where 条件] [order by 字段名 [desc] ]
desc:降序排列
asc:升序排列(默认) select * from student order by score desc,age;2:模糊查询(like)
通配符:
% 代表任意多个任意字符
_ 代表一个任意字符 查询所有姓张的学生信息
select * from student where name like '张%';
1.限制行数的查询
select * from 表名称 [where 条件] [limit n];
注意:limit n代表最多查询n条
select * from 表名称 [where 条件] [limit offset, n];
注意:offset代表偏移量,偏移量从0开始计算,代表第一行
n代表查询出的最多记录数
例如:要求每一页显示pageSize条记录,求第page页应该查询哪些数据出来?
select * from 表名称 limit (page-1)*pageSize, pageSize;
五、聚合函数
1. max(字段名) :计算某一字段中的最大值
2. min(字段名) :计算某一字段中的最小值
3. avg(字段名):计算某一字段中的平均值
4. sum(字段名):计算某一字段值的和
5. count(字段名): 计算某一字段值中不为null的记录总数。
count(*): 计算记录的总条数,无论是否为null
查询成绩最大(最小,平均,求和)
select max(score) as 最高成绩 from student;
select min(score) as 最低成绩 from student;
select avg(score) as 平均成绩 from student;
select sum(score) as 总成绩 from student;
一、MySQL简介在DOS环境下操作MySQL
1、MySQL是一种中型的关系型数据库管理系统(DBMS,Database Management System)。
注意:关系型数据库是按照表的方式存储数据的。
2、在DOS环境下操作MySQL
通过DOS操作MySQL的常用命令:
1. 进入MySQL环境
mysql -h MySQL服务器地址 -u 用户名 -p
2. 显示所有数据库
show databases;
3. 进入某个数据库
use 数据库名称;
4. 显示所有表
show tables;
二、基本SQL语句
SQL:(Structured Query Language)结构化查询语言。操作关系型数据库的专用语言。
可分为:
DDL:数据库模式定义语言
DML:数据操纵语言
DQL:数据查询语言
DCL:数据控制语言
DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。eg:创建数据库、创建表(修改、删除)等操作。
DML(Data Manipulation Language),数据操纵语言,如插入(insert)数据、删除(delete)数据、修改(update)数据。
DQL:Data Query Language 数据查询语言。select查询数据。
DCL(Data Control Language)数据库控制语言。用来设置或更改数据库用户或角色权限的语句。
1、创建数据库
create database 数据库名称 [default character set 'utf8'];
注意:关系型数据库中的数据是存放于表中的,而表是存放于数据库中的。create database mydb default character set 'utf8';2、创建表
create table 表名称(
字段名1 数据类型 约束[primary key],
字段名2 数据类型 约束...,
字段名3 数据类型 约束...
);create table student(
stuid int auto_increment primary key,
name varchar(20) not null,
age int,
score double not null
);3、向表中插入记录
语法一(指定字段名插入记录):
insert into 表名称(字段A,字段B...)values(值A,值B..);insert into student(name,age,score)values('风清扬',25,95.5); 语法二:(不指定字段插入记录,插入的值对应于表 中的每个字段)
insert into 表名称 values(值1,值2,...);
insert into student values(12,'李寻欢',29,93);
语法三:(插入多条记录)
insert into 表名称(字段A,字段B...)values(值A1,值B1...),(值A2,值B2...)...;
insert into student(name,age,score)values('小明',50,60.5),('小军',45,65.3),
('小平',60,72.5);
4、删除数据
delete from 表名称 [where 条件]; delete from student where stuid=19;5、修改数据
update 表名称 set 字段名1=修改的值1 [,字段名2=修改的值2...] [where 条件];update student set score=score-10,age=age+1;
6、查询数据
select 字段名1 [as 别名],字段名2 [as 别名],... from 表名称 [where 条件];
select stuid,name,age,score from student where score>=80 and score<=90;
select * from student where score between 80 and 90;
select name as 学生姓名, score as 成绩 from student where score>=80 and score<=90;7、查看表的结构
desc[ribe] 表名称;三、排序查询、模糊查询、限制查询
1:排序查询
select 字段1,字段2... from 表名称 [where 条件] [order by 字段名 [desc] ]
desc:降序排列
asc:升序排列(默认) select * from student order by score desc,age;2:模糊查询(like)
通配符:
% 代表任意多个任意字符
_ 代表一个任意字符 查询所有姓张的学生信息
select * from student where name like '张%';
查询名字只有两个字、并且最后一个字是'三'的学生信息 select * from student where name like '_三';3:限制(limit)查询
1.限制行数的查询
select * from 表名称 [where 条件] [limit n];
注意:limit n代表最多查询n条
查询成绩在80到90之间的前3条学生的信息 select * from student where score>=80 and score<=90 limit 3;2.根据偏移量(从0开始,代表第一行)和查询数量,查询出指定位置的记录
select * from 表名称 [where 条件] [limit offset, n];
注意:offset代表偏移量,偏移量从0开始计算,代表第一行
n代表查询出的最多记录数
查询出第3条到第8条的学生记录 select * from student limit 2,6;四、分页查询
例如:要求每一页显示pageSize条记录,求第page页应该查询哪些数据出来?
select * from 表名称 limit (page-1)*pageSize, pageSize;
五、聚合函数
1. max(字段名) :计算某一字段中的最大值
2. min(字段名) :计算某一字段中的最小值
3. avg(字段名):计算某一字段中的平均值
4. sum(字段名):计算某一字段值的和
5. count(字段名): 计算某一字段值中不为null的记录总数。
count(*): 计算记录的总条数,无论是否为null
查询成绩最大(最小,平均,求和)
select max(score) as 最高成绩 from student;
select min(score) as 最低成绩 from student;
select avg(score) as 平均成绩 from student;
select sum(score) as 总成绩 from student;
查询学生表中的总记录数 select count(*) from student; 查询学生中age不为null的记录数 select count(age) from student;
相关文章推荐
- MYSQL中取当前年份的第一天和当前周,月,季度的第一天/最后一天
- MySQL学习第一天
- mysql 获取上个月,这个月的第一天或最后一天
- mysql 查询当前月 第一天/最后一天 时间
- mysql 从本月的第一天到第15天
- MySQL学习第一天--简单的操作
- MySQL里获取当前week、month、quarter的第一天/最后一天
- mysql日期 获取本月第一天 获取下个月的第一天
- MySQL里获取当前week、month、quarter的第一天/最后一天
- MySQL第一天
- mysql5.6初级使用方法学习第一天
- 第一天学习MySql(5)-数据库的事务和其他数据类型
- mysql计算某一天所在周或月的第一天和最后一天
- mysql物理备份工具xtrabackup第一天----实战安装
- mysql日期 获取本月第一天 获取下个月的第一天
- mysql查询上个月的第一天和最后一天
- mysql查询上个月的第一天和最后一天
- MySQL里获取当前week、month、quarter的第一天/最后一天
- MySQL和sql获取当前时间是本月的第几周或本月第一天的问题
- Mysql获得当前日期的所在月的第一天