mysql基础
数据库介绍
分为关系型数据库和非关系型数据库 区别是关系型数据库有标准的SQL语句 通用 关系型数据库类似EXCEL的SHEET簿 是一个二维表 非关系型数据库是key=values 对应的形式
-
关系型数据库
-
MySQL 开源免费 应用最广泛(百度 阿里) ms sql server 一般用在银行、邮政 sqLIte 小型数据库 Oracle
-
-
非关系型数据库
-
MongoDB/Redis
-
通过key-value存储数据
-
-
数据库作用:用来存储管理数据的、数据按照一定格式存储
mysql数据库
开源免费 中国企业用的多 特点1、读写速度快 2、便于长时间储存 可对数据库进行增、删、改、查 3、可处理上千万条数据 4、可在不同系统安装
数据类型和约束
数据类型
-
整形int 浮点型 decimal (5,2)表示为5个字符串长度,有2位小数 字符串分为固定字符串char(例如:手机号、身份证号等)非固定字符串varchar 日期date(2020-12-05) time(12:12:12)datetime (2020-12-05 12:12:12) 枚举类型 enum
约束
-
是指在数据类型的基础上进一步约束
-
一般默认 id int unsigend 主键primary key 自动增长 auto_increment 外键foreign key 非空not null 默认default字段没有对应的 值输入 代表默认 唯一unique
-
数据库基本使用
针对库操作
-
进入mysql :mysql -uroot -p输入密码 退出mysql:exist
-
创建数据库 create
-
create database com charset=utf8;
-
-
删除数据库 drop database com
-
查看数据库
-
show databases;
-
-
查看当前时间
-
select now();
-
-
查看数据库
-
show databases;
-
-
查看创建数据库语句
-
show database com;
-
-
查看当前数据库
-
show database();
-
针对表操作
-
使用数据库
-
use com;
-
-
创建表
-
create table student(id int UNSIGNED PRIMARY key auto_increment not null, name varchar(20) not null, weight decimal(5,2));
-
查看表show tables;
-
-
-
给表增加字段
-
alter table student add birthday datetime;
-
-
修改表中字段的类型
-
alter table student modify birthday date;
-
-
将表中字段进行重命名
-
alter table student change birthday birth date;
-
-
删除表中某个字段
-
alter table student drop birth;
-
-
删除表
-
drop table student;
-
-
查看表结构
-
desc student
-
-
给表中插入数据(2种写法)
-
insert into student values(1,'lilei','180'),(2,'wangfeng','90'),(3,'song','99');
-
insert into student(name,weight) values('songjia','80'),('zhaofang','90'),('jiang','89');
-
-
查询表
-
select * from student;查询整个表
-
select id name from student:查询表中某个字段
-
查看创建表语句 show create table student;
-
修改数据: update 表名 set 列1=值1,列2=值2... where条件 举例:update student set name ='zhangfei', weight = 70 where id = 6 删除数据: delete from 表名 where 条件
-
where条件查询
1、常见的比较运算符有 >,<,>=,<=,!=
2、逻辑运算符and表示多个条件同时成立则为真,or表示多个条件有一个成立则为真,not表示对条件取反 3、like和%_结合使用表示任意多个任意字符,like和结合使用表示一个任意字符 4、between-and限制连续性范围 in限制非连续性范围 btween包含左右两侧数值 如果查询范围大 不会报错 select * from students where id not between 1 and 3 and name = '刘备'; 5、判断为空使用: is null 判断非空使用: is not null
6、in后面可以加枚举类型 select * from student where sex in('女');