2021-01-06
1、MySQL学习
什么是MySQL?
MySQL是一个轻量级的关系型数据库,MySQL的数据是以表的形式来进行存储,表与表之间就存在关系,一对一,一对多的关系。
MySQL在系统能做什么事?
在一个软件系统里面,是分三部分,分别是客户端、服务端、数据库。
客户端:用来给用户使用,客户端是可视化的。
服务端:是用来交互整个系统的数据,将从客户端传递的数据进行筛选和判断。还可以将客户端的数据传递给数据库进行存储或者将数据库的数据传递给客户端。
数据库:用来存储数据,一般将重要的数据存储在数据库,不重要的数据存储在缓存数据库里,常见的缓存数据库:MonnDB,Redis.
2、MySQL查询语句,SQL语句,一般分为四种:DDL、DML、DQL、DCL。
DDL语句:用来定义和管理数据对象(数据库或者表)
常用命令:create创建、drop删除、alter修改
DML语句:用来操作数据库对象里面的数据
常用命令:insert插入、update更新、delete删除
DQL语句:用来查询数据库的数据
常用命令:select查询
DCL语句:用来管理数据库的语言和用户信息,包括用户权限和用户数据
常用命令grant、commit、rollback。
3、DDL语句:
查询所有数据库:
show databases;
创建一个新的数据库:
create database if not exists 数据库名称;(if not exists用来判断是否存在相同名称数据库)
删除一个数据库:
drop database if exists 数据库名称;
使用指定数据库:
use 数据库名;(只有先进行使用数据库,才能对数据库里面的表进行修改和编辑)
创建表:
create table 表名(
字段名1 列类型【属性】【索引】【注释】,
字段名2 列类型【属性】【索引】【注释】,
......
字段名n 列类型【属性】【索引】【注释】(注意:最后一行不要逗号)
)表类型 表字符集 标注释;
注意:属性有:not null不为空、unsigned无符号不能为负数、auto_increment自增、serofill用0填充
索引有:unique、primary key
例如:创建商品表,表名product
create table product(
`id` int(255) not null auto_increment primary key comment'商品编号',
`name` varchar(100) not null comment'商品名称',
`normal_price` double unsigned comment'商品原价',
`special_price` double unsigned comment'商品特价',
`product_desc` varchar(200) comment'商品详情',
`create_time` datetime not null comment'创建时间',
`edit_time` datetime not null comment'修改时间'
) charset =utf8 engine=innodb comment='商品表';
删除表:
drop table if exists 表名;
查看表结构:
desc 表名;
修改表中数据:
1、修改表名称:alter 和rename
alter table 旧表名 rename as 新表名;
2、修改表中的字段:modify 和change
alter table 表名 modify 字段名 列类型[属性][索引][注释];
alter table 表名 change 旧字段名 新字段名 列类型[属性][索引][注释];
(modify只能修改字段类型和属性、索引,change可以修改字段的字段名。)
3、向表中添加字段:add
alter table 表名 add 字段名 列类型[属性][索引][注释];
4、删除表中的字段:drop
alter table 表名 drop 字段名;
4、DML语句
用于操作数据库对象包含的数据,包括添加insert、更新update、删除delete
4.1、添加
insert into 表名(字段名1,字段名2,...,字段名n,) values ('值1','值2','...','值n');
例如:
insert into
product(`name`,`normal_price`,`special_price`,`product_desc`,`create_time`,`edit_time`)
vlaues ('耐克',600,450,'耐克鞋子真好','2021-01-06 15:30','2021-01-06 15:30');
4.2、查询表中数据
select 字段名1,字段名2,...,字段名n form 表名;
例如: select id,name from product;
(*代替所有的字段名,例如:select *from product;)
4.3、修改表中数据
update 表名 set `字段名1`='数据1',`字段名2`='数据2',...,`字段名n`='数据n';
例如:update product set `id`='2';
(可以同时修改表中的数据)
4.4、where关键字,对操作添加一个条件,结果是布尔值(true or false)
9种运算:
等于=,if 5=5,结果ture
不等于!=或者<>,if 2!=3 , 结果 ture
大于>,if 2>1,结果ture
小于
大于等于,
小于等于,
在某个范围between,格式:between 5 and 10 ,5到10之间包括5、10.
和and,两边条件都为ture,结果为true。
或or,两边条件只要有一个为true,结果都为true。
例如:修改Nike商品的价格为100,update product set price ='100' where name='Nike';
查询价格在200-300的商品,select *from product where price between 200-300;
4.5、删除表中数据
delete from 表名 where 条件;