MySQL数据库操作
一_初识MySQL数据库
1、数据库
什么是数据库:
就是储存各种各样的数据仓库,注意数据库是一个数据系统来的,mysql就是一个数据库操作系统
我们基础课学习了哪些哪些储存数据呢?
json,txt
mysql和json有什么区别
就是mysql可以设置各种用户权限和内置操作函数
2、数据库分类
数据库分为:sql(关系型数据库), nosql(非关系型数据库)
1.关系型数据库
其实就是有一个关系模型(Excel 表格), 主要强调使用二维表的方式进行数据储存
元素:行,列, 表, 库
关系型数据库可以通过表与表进行关联
关系型数据库:mysql(免费开源的,中小型数据库), oracle(大型数据库,linux系统搭建,要钱), SQL server(大型数据库, 微软开发,要偏向windows平台,要钱)
sql语句有共通性,90%都可以通用
2.非关系型数据库
应用在大数据初始数,因为有些数据是很难建立一个关系模型
储存方式:键值对方式
非关系型数据库:Habase(单纯数据库) + Hive(提供sql语句), MongoDB(尽量学习), Redis(尽量学习)...
两种数据库都要用到
3、数据库概念
1.数据(data): 描述事物的特征和属性(数字,文本,符号)
2.数据库(database):可以长期保存大量的数据仓库
3.数据管理管理系统(DBMS):是用户通过这个系统进行访问操作
比如mysql数据库就是mysql管理系统
二、MySQL库操作
了解SQL
结构化查询语句,用于储存,查询,更新操作管理关系型数据库的
sql关系型数据库就是很典型交互基础
1.sql指令
DDL:数据定义语言(数据库用来创建,删除,修改表结构操作)
DQL:数据查询语言(对数据库的表格查询)
DML:数据库操作语言(对表数据进行增删改)
TCL:事务控制语言(拥有事务数据管理)一般DBA(数据管理员)的权限
DCL:数据控制语言(定义数据库的访问权限,安全级别)
SQL语言的规则
mysql
复制代码
#单行注释
-- 两个横线+空格也是单行注释
/*
多行注释
*/
# 注意我们的sql语句每条都要用分号结束,必须要用到分号结尾,不能省略
# sql是不区分大小写
1、数据库查询
mysql
复制代码
# 1.数据库查询,表名,字段名也不区分大小写
show databases;
mysql库 这个数据库有user这个表,这个是专门管理用户权限和密码,不要动
2、数据库创建
mysql
复制代码
# 数据库创建,
# 格式 create database 库名;
create database demo924;
3、查询创建的数据库的所有信息
mysql
复制代码
# 查询创建的数据库的所有信息
# CREATE DATABASE `demo924` /*!40100 DEFAULT CHARACTER SET utf8 */
# 是不是创建数据库语句,
show create database demo924;
# 开发人员只有数据权限权限,表结构基本没用权限
4、切换使用数据库
mysql
复制代码
# use 数据名;
use demo924;
5、查看当前所在的数据库
mysql
复制代码
select database();
6、删除数据库
mysql
复制代码
# 不要弄,但是弄了也没用
drop database demo1;
三_MySQL表操作
1、数据类型
1、字符串类型
1.char(n): 最大储存字符255个字符,n是表示最大字符长度,如果不写默认为长度1
2.varchar(n): 最大储存65535字符长度, 不写默认是长度:长度为1
3.enum : 枚举,(单选题)
4.set: 多选题
5.text:文本,最大长度:理论是无限长度
2、 数值类型
1.int 储存整型, 范围+-21亿,直接够用
2.float(m,d)单精度,留存小数点后6(负数),7(正数)位 (m:表示数据总长度, d表示小数后几位)
3.double(m,d)双精度,留存小数后15位, (m:表示数据总长度, d表示小数后几位)
3、时间类型
1.year :年
2.date : 日
3. time : 时分秒
4.datetime 年月日时分秒
写入时间格式必须是双引号包裹, 本质还是字符串类型
2、表操作
1、创建表
mysql
复制代码
格式:
create table 表名(
字段名 数据类型,
字段名 数据类型,
字段名 数据类型,
);
mysql
复制代码
create table xiaohezi(
name char(5),
gender enum('男', '女', '武装直升飞机'),
age int(3),
height float(5, 2),
birthday datetime
);
create table xiaohezi(
name char(5),
gender enum('男', '女', '武装直升飞机'),
age int(3),
height float(5, 2),
birthday datetime
);
create table xiaohezi(
name char(5),
gender enum('男', '女', '武装直升飞机'),
age int(3),
height float(5, 2),
birthday datetime
)engine = InnoDB default charset = utf8;
2、表数据插入
mysql
复制代码
# 如何添加一条完整的数据
# 数据库是怎样图片视频的,储存图片和视频地址
insert into 表名 value (数值1, ......);
# 还可以插入多条数据
insert into 表名 value
(数值1, ......),
(数值2, ......),
(数值3, ......),
(数值4, ......);
mysql
复制代码
insert into xiaohezi VALUES
('守护', '武装直升飞机', 40, 150.00, "1973-10-10 21:43:00"),
('帅得遭不住', '男', 10, 159.00, "2013-10-10 21:43:00"),
('逆水', '武装直升飞机', 80, 250.00, "1943-10-10 21:43:00"),
('李奕博', '女', 20, 160.00, "2003-10-10 21:43:00");