数据库(MySQL)
数据库的常识
1. 数据库的基本概念
- 定义:数据库是指长期存储在计算机内,有组织的数据集合。简而言之,数据库是一个存储数据的地方。表是数据库种存储数据的基本单位,数据按照分类存储到不同的表中,能够非常有效的查询其中的数据。
- 作用:把数据以表的形式存储起来,方便查询
- sql语句的类型
DDL 和表结构有关的 create drop
DML 和修改数据有关的 insert delete update
DQL 和查询有关的 select from
2. 数据库的增删改查
1) 增
登录
mysql –h(localhost主机) -p(3306端口号) -u(user 用户) -p(password密码)
mysql –u root –p
可以在navcat 运行 也可以用命令直接运行 语句的差距在于命令有; navacat不用;结尾
退出数据库 exit
Ctrl C 退出 返回mysql
show databases; 显示我们的数据库
use 数据库的名字; 选择该数据库
show tables 显示该数据库下的表创建数据库 create database 数据库的名字
数据库的名字必须是英文
字符集必须选择UTF8( 用命令创建数据库后,在创建表时,要在命令后写engine=innoDB default charset=utf8 比如:create table qq(id int(16),name varchar(255)) engine=innoDB default charset=utf8; )创建表 create table 表名(字段 类型 约束, 字段1 类型1 约束1,…)
表的名字必须用英文
列名(字段)必须用英文
提前设置好每个字段的数据类型(int varchar)
提前估算字段的长度 单位是字节(一个数字等于一个字节、一个字母等于两个字节、汉子一般是2-4个字节)增加表的数据
Insert into 表名(字段1,字段2,字段3) values (值1,值2,值3);
2)删
Delete from 表名 where 条件; 删除指定条件的数据
3)改
Update 表名 set 列1=值1,列2=值2 where 条件; 修改指定的地方数据
4)查
1) select * from 表名; 查询表/打开表
2)select 字段1,字段2 from 表名; 查询该表的字段1,字段2 内容
3)select * from 表名 where 条件; 有条件的查询
4)select 字段1,字段2 from 表名 where 条件; 有条件的查询该字段
5)select * from 表1 join 表2 on 表关系 多表联查
如 select * from students join class on students.id=class.id
6)select字段1,字段2,字段3 from 表1 join 表2 on 表关系 多表联查某字段
如 select students.id,name,class.id from students join class on students.id=class.id
7)select * from 表1 join 表2 on 表关系 join 表3 on 表关系 多表联查
8)lefl join 左连接 就算左边这张表有的数据没有,也会显示出来
9)right join 右连接 就算右边这张表有的数据没有,也会显示出来
左右连接的 from 后是左表 join 后是右表
10)为什么存在多表:因为有些数据会变化,不变化的部分会重复,浪费内存,多表能解决这种问题
5)常用方法
1)as 重命名,可以空格省略不写
2)order by 排序,如果加上desc就是倒序,默认升序asc
3)min 求最小值
4)max 求最大值
如:求每个班每个学生的最大成绩
select class,name,max(math+english+chinese) from students join class on students.sn=class.sn join grade on students.sn=grade.sn group by class,name
5)count 求
6)sum 求和
7)avg 求平均分
8)查询聚合函数此类 你要什么字段的数据后面也要写上对应的分组字段
9)show databases 显示所有数据库
10)use + 数据库 打开该数据库
11)show tables 显示所有表