MySQL、SQL Server、Oracle 都是关系型数据库
MySQL社区版是免费并且完全开源的
二维表
数据库系统与文件系统有很大的区别
这里转载一位博主总结的2个系统的区别,有时间慢慢看。
https://blog.csdn.net/hiddpy/article/details/80817184
MySQL的基础语句一大特点是不区分大小写,命令一般后面加冒号。
RDBMS 关系型数据库管理系统
约束性条件:
主键 该字段的值不能重复 primary key
唯一键 该字段的值不能重复 unique
非空键 not null
定义默认值 default
默认值
自增键 auto_increment
由supermarket举例
显示当前RDBMS里的数据库 show databases;
创建数据库 create database supermarket;
删除数据库 drop database supermarket;
选择某个数据库 use supermarket;
表的操作必须基于某个数据库
由user举例
查看数据库中所有的表 show tables;
查看表的结构 desc user;
查看创建表的具体SQL语句 show create table user\G
创建一张表 表名称 属性名称 类型 完整性约束条件
create table user(id int primary key auto_increment,
name varchar(20) not null,age int default 0,
sex enum('man','woman'));
数据的增删改查
插入: insert into user values(1,'zhangsanfeng',85,'man');
也可以 insert into user(name,age,sex) values('wang',23,'woman');
也可以 insert into user(name,age,sex) values ('wang',23,'woman'),('wang',23,'woman');
id默认自增,如果删除第一条,然后不指定id,id依旧会自增,并不会补充第一条。
查看所有属性 select * from user;
查看特定属性 select name,age,sex from user;
select * from user where age >20;
select * from user where age between 18 and 20;
select * from user where age >18 and sex = 'man';
select * from user where age >18 or sex = 'man';
查询的数据倒序排序
select * from user order by age desc;
查询数据和、数量
select sum(age) as sumage, count(*) as countnumber from user;
查询某一类的数据和、数量(分组)
select sum(age) as sumage, count(*) as countnumber from user group by sex;
给分组添加条件
select name,sex from user group by age **having** sex = 'man' order by name desc;
删除操作
delete from user where sex='man';
更新操作
update user set age = 21 where sex = 'man';
update user set age = age+1 where sex = 'man';
update product set number = number-1 where name = 'iphoneX';