1.mysql是关系型数据库;
关系型数据库:采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。
关系型数据库还包括:H2,PostgreAQL
2.mysql存储引擎:InnoDB,MyISAM ,Memory
- InnoDB 支持事务,有更好的并发能力。
- MyISAM 不支持事务和外键,结构简单,可以压缩为只读状态。
- Memory 引擎将数据保存在内存中,重启会丢失数据,读速度快很快,适合作为会话表和缓存表。
3.Joe 需要登录团队的开发服务器上的goods数据库,这台服务器地址是 10.123.45.17 ,MySQL 端口是 3306 。用户名是 joe,口令是 ixhewui 。
那么 Joe 需要如何操作?
在终端输入
mysql -h 10.123.45.17 -p -ujoe goods
出现口令输入提示时输入口令。
4.指定引擎方法:
CREATE TABLE goods_category
(
id INT,
category VARCHAR(30),
remark VARCHAR(100)
) ENGINE=INNODB;
5.计算指令:
select id, (x^2 + y^2)/2 as result from points;
6.时间字段:
TIMESTAMP和DATETIME的不同点:\n\n1> 两者的存储方式不一样\n\n对于TIMESTAMP,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回。\n\n而对于DATETIME,不做任何改变,基本上是原样输入和输出。
create table orders (
id int primary key auto_increment,
ts timestamp default now()
);
create table orders (
id int primary key auto_increment,
ts datetime default now()
);
7.数据类型:
char长度固定,varchar和text长度可变。(char可能存在空间浪费,字符串长度不够,则后面用空格补足空字符串)
char和varchar可以设定默认值,text没有默认值。
char和varchar定义时要指定长度,text定义时通常不用指定长度,可以自己计算。
二进制字符串类型概述
MySQL中支持的二进制字符串类型主要包括BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB类型。
二.sql增删改查
1.查看数据库
show databases;
2.创建数据库,如果已存在则打开,不存在新建
use db_new
3.创建表
create table info (id primary key,name varchar(20),age integer);
4.查看表的列信息
describe info;
5.增加字段
alter table info add class varchar(20);
6.删除字段
alter table info drop class;
7.增加一行数据
insert into info (id,name,age) values (1,'张三',13);
insert into info set id=2,name='李四',age=11;
8.删除一行数据
delete from info where id=1;
9.清空表
truncate table info;
10.更改
update student set name='李四' where student_id=3;
11.查
SELECT * from student where class_num = '20201001' and sex = '男' and age > 20;
12.模糊查询
select * from info where name like '%李'; 查询所有以李字结束的
select * from info where name like '李%'; 查询所有以李字开头的
select * from info where name like '%李%'; 查询所有包含李字的
13.分页查询
limit 关键字 限定查询多少条数据
offset 关键字 从第几条数据开始查询 默认第一条数据是0
select * from info limit 3 offset 3
# SELECT * from student LIMIT 0,3
# LIMIT 0,3 limit后一个数据表示从第几条数据查起,后面数据是查询的条数
14.
聚合查询 count() :记录查询列有多少行 SUM() :求数值序列的和 AVG() :求平均数 MAX() :求最大值 MIN() :求最小值
select AVG(age) from info;