一、数据库简介

概念
1.按照一定的数据结构来存储和管理数据的仓库
2. 计算机是如何处理数据的?(主要放在磁盘和内存中)

分类
1.关系型数据库(SQL)
存储方式固定,安全
2. 非关系型数据库(NoSQL (Not Only SQL)) (MongoDB)
存储方式比较灵活,存储数据的效率比较高, 不太安全

区别
1.关系型数据库(SQL)

MySQL 车型数据库 mysql数据数据库_字段

2.非关系型数据库(MongoDB)

MySQL 车型数据库 mysql数据数据库_数据_02

二、MySQL基本结构

MySQL简介
最流行的关系型数据库管理系统之一,由瑞典MySQL AB公司开发,目前属于甲骨文(Oracle)公司.
MySQL是一种关系型数据库管理系统,MySQL由于性能高、成本低、可靠性好,是最流行的开源数据库之一,
被广泛应用在互联网上的中小型网站中,随着MySQL的不断成熟,它也逐渐用于更多大规模的网站和应用.

概念与特点
1.关系型数据库管理系统:采用关系模型来组织管理数据的数据库系统
2.把数据保存在不同的表中,而不是将数据放在一个大仓库中
3.可以运行于多个系统上,并且支持多种编程语言,包括C、C++、Python、Java、Perl、PHP、Ruby等

MySQL组织数据的基本格式

MySQL不是数据库,它是数据库管理软件

MySQL 车型数据库 mysql数据数据库_数据_03

MySQL表中的数据

MySQL 车型数据库 mysql数据数据库_MySQL 车型数据库_04

总结

MySQL 车型数据库 mysql数据数据库_字段_05

三、MySQL库/表级操作

注意事项
1.大小写:不严格区分大小写,默认大写为程序代码,小写为程序员写的代码
2.语句结束符:每个语句都以;或者\g结束
3.类型:强制数据类型,任何数据都有自己的数据类型
4.逗号:创建表的时候最后一行不需要逗号

MySQL进入与退出

mysql –uusername -ppassword mysql> exit / quit / ctrl+d

MySQL 车型数据库 mysql数据数据库_MySQL数据库(一)_06

库级操作语句
1.显示所有的库:SHOW DATABASES;
2.创建库:CREATE DATABASE [IF NOT EXISTS] db_name;
重复创建会报错, 可以加上IF NOT EXISTS
3.删除库:DROP DATABASE [IF EXISTS] db_name;
如果不知道数据库是否存在,记得加IF EXISTS
4.进入数据库:USE db_name;
db_name 是数据库的名字,如python3

查看MySQL有哪些用户:SELECT host,user FROM mysql,user;
查看当前所在数据库在哪:SELECT DATABASES();

表级操作语句
1.显示所有的表:SHOW TABLES;
2.创建表:CREATE TABLES [IF NOT EXISTS] tb_name (create definition…);
重复创建会报错, 可以加上IF NOT EXISTS
3.显示创建表的信息:SHOW CREATE TABLES tb_name;
4.删除表:DROP TABLE tb_name;
tb_name 是表的表名字,如students
(create definition…) 是这张表所包含的信息,如(id INT,name VARCHAR(20),age INT,sex VARCHAR(5))
如 CREATE table student (id INT,name VARCHAR(20),age TINYINT,sex ENUM(‘M’,‘F’),class TINYINT,grade CHAR(5));
总结

MySQL 车型数据库 mysql数据数据库_MySQL数据库(一)_07

四、MySQL表中数据的操作

插入数据
C(CREATE) —INSERT INTO VALUES
1.指定字段插入: INSERT INTO tb_name(field_name) VALUES (field_values);
2.全字段插入: INSERT INTO tb_name VALUES (all_values);
3.多行插入: INSERT INTO tb_name(field_name) VALUES (value_1), (value_2), …;
tb_name是表的名字
(field_name) 是所要插入的字段,如(id,name,age,sex)
(field_values) 是所要插入的字段值,如(1,‘space’,18,‘girl’)
(all_values) 是所有的值
(value_1), (value_2), … 是指可以插入多个字段值,如(1,‘space’,18,‘girl’),(1,‘karry’,18,‘boy’),…

查询数据
R(READ) —SELECT FROM WHERE
1.指定字段查询:SELECT field_names FROM tb_name;
2.全字段查询: SELECT * FROM tb_name; (即查看表中的数据)
3.带条件的查询: SELECT field_names FROM tb_name WHERE conditions;
field_names 是指的字段名,如(id,name,age,sex)
tb_name 是表的名字
conditions 是要查询的条件,如 sex=‘boy’,id=1
SELECT id FROM students WHERE name is Null
(当查询的字段值为空的时候要用 is ,不用 =)
SELECT NOW(); -->查看当前时间
4.desc tb_name;
查看表格里所有的类型

修改数据
U(UPDATE) —UPDATE SET WHERE
1.修改所有数据:UPDATE tb_name SET field_1=value_1
2.修改多个: UPDATE tb_name SET field_1=value_1, field_2=value_2 …;
3.修改满足条件的数据: UPDATE tb_name SET field_1=value_1 WHERE conditions;
tb_name 是表的名字
field_1=value_1 ,field_1是字段名,value_1是字段值,如id=1
field_1=value_1, field_2=value_2 … 是指可以修改多个,如id=1,id=2 …
conditions 是要修改成的字段值,如sex=‘women’
注意:一定要写where条件,不然会删除表中全部数据

删除数据
D(DELETE) —DELETE FROM WHERE
1.删除表中所有数据:DELETE FROM tb_name;
2.删除表中满足条件的数据: DELETE FROM tb_name WHERE conditions;
tb_name 是表的名字
conditions 是满足条件的数据,如id=3 (删除的是一整行的数据)
注意:一定要写where条件,不然会删除表中全部数据

数据操作总结

MySQL 车型数据库 mysql数据数据库_MySQL_08

五、MySQL数据类型

MySQL数据类型
1.数值类型
2.字符类型
3.时间日期类型

数值类型

MySQL 车型数据库 mysql数据数据库_MySQL 车型数据库_09


MySQL 车型数据库 mysql数据数据库_字段_10

字符类型

MySQL 车型数据库 mysql数据数据库_MySQL数据库(一)_11

时间日期类型

MySQL 车型数据库 mysql数据数据库_字段_12

案例

CREATE TABLE tb2(
id INT,
name VARCHAR(20), #指定长度,最多65535个字符。 变长字符串
sex CHAR(4), #指定长度,最多255个字符。 定长字符串
price DOUBLE(4,2), #双精度浮点型,m总个数,d小数位
detail text, #可变长度,最多65535个字符
dates DATETIME, #日期时间类型 YYYY-MM-DD HH:MM:SS
ping ENUM(‘好评’,'差评’) ) #枚举, 在给出的value中选择

insert into tb value (1, ‘裤子’, ‘男’, 20.0, ‘这条裤子超级好!!!’, now(), ‘好评’);

定长:如果我指定char(4),那么传入’G1’,无论我们传入的(符合条件)字符串有多长,
我们这个数据创建的空间大小还是4
不定长:如果我们数据小于我们指定的长度,会以实际的长度来创建空间