1.数据库定义:
本质上就是一个文件系统.通过标准的sql对数据进行curd操作,数据库管理系统大白话就是一个软件
2.数据库分类:
关系型数据库:
存放实体与实体之间的关系的数据库(就是二维表)
实体:
用户 订单 商品
关系:
用户拥有订单
订单包含商品
非关系型数据库:存放的是对象(redis) NO-sql(not only sql)
软件名 厂商 特点
mysql oracle 开源的数据库
oracle oracle 大型的收费的数据库
DB2 IBM 大型的收费的数据库
sqlserver 微软 中大型的收费的数据库
sybase sybase(powerdesigner)
3.SQL:
1.概念: 结构化查询语句
2.作用: 管理数据库.3.sql的分类:
DDL:数据定义语言
操作对象:数据库和表
关键词:create alter drop
DML:数据操作语言
操作对象:记录
DQL:数据查询语言(非官方)
DCL:数据控制语言
操作对象:用户 事务 权限
4.登录数据库
登录数据库:
mysql -uroot -p密码(root)我这里设置的额
5.DDL:数据定义语言(对数据库和表)
主要关键词:create alter drop
数据库:
1.创建数据库:
create database database1
2.删除数据库:
drop database database1
3.查看所有数据库表:
show databases;
表:
1.创建表:
create table user ( id int primary key auto_increment, username varchar(20) );
2.修改表名:
alter table user1 rename to user2;
3.添加字段:
alter table user add password varchar(20);
4.修改字段名:
alter table user change password pwd varchar(20);
5.修改字段描述:
alter table user modify pwd int;
6.删除表:
drop table user
常用命令:
切换或者进入数据库: use 数据库名称;
查看当前数据库下所有表: show tables;
查看表结构:desc 表名;
查看建表语句:show create table 表名;
6.DML:数据操作语言(记录行)
主要关键词:insert update delete
1.插入
方式1 insert into 表名(字段名,字段名1...) values(字段值,字段值1...); eg: insert into user (username,id) values('jack',100); 方拾2 insert into 表名 values(字段值1,字段值2...,字段值n); eg: insert into user values(1,'tom'); 注意:对方式2 默认插入全部字段, 必须保证values后面的内容的类型和顺序和表结构中的一致 若字段类型为数字,可以省略引号
2.修改:
update user set username='jerry' where username='jack';
3.删除:
delete from user where id = '1';
7.DQL:数据查询语言
主要关键词:select
格式: select ... from 表名 where 条件 group by 分组字段 having 条件 order by 排序字段 ase|desc
eg:现在有一张products表格
基本查询
1.查询商品名和商品价格
select pname,price from products;
2.查询所有商品都有那些价格.
-- 去重操作 distinct -- 格式: select distinct 字段名,字段名2 from 表名 select price from products; select distinct price from products;
3.将所有商品的价格+10元进行显示.(别名),但不改变在数据库中的值
select price+10 from products;
select price+10 'newprice' from products; 注意引号必须加
条件查询
1查询商品名称为apple的商品所有信息
select * from products where pname = 'apple';
2..查询商品价格>60元的所有的商