目录
一: MySQL 是一个关系型数据库管理系统(RDBMS)
二: MySQL中的对象:
三: 数据库对象的操作:
四:美国信息标准交换码:ASCII码
五: 表中一行数据代表一条记录
六: ORM[对象关系映射]
七: MySQL数据库中的数值类型
八: MySQL数据库中的字符串类型
九: 数据库基本操作
十: 表的基本操作
十一:查询语句
十二:插入语句
一: MySQL 是一个关系型数据库管理系统(RDBMS)
⼀种专⻔的软件来管理存储的数据,这些数据依照⼀定格式保存,通过这个软件可以⽅便的对数据进⾏增删改查操作,从⽽极⼤的提升了数据管理效率。
二: MySQL中的对象:
-
Database: 数据库;
-
Table: 表;
-
View: 视图;
-
Function: 函数;
-
Procedure: 存储过程;
三: 数据库对象的操作:
-
Create: 创建对象
-
Drop: 删除对象
-
Alter: 修改对象
-
Trigger: 触发器;
-
Index: 索引; 提高查询的性能,创建了索引不一定会提高查询速度
-
trigger和index只有create和drop能使用
四:美国信息标准交换码:ASCII码
-
大写A: 65 - 大写Z: 90
-
小写a: 97 - 小写z: 122
-
数字0: 48 - 数字9: 57
五: 表中一行数据代表一条记录
-
Database: 数据库;
-
Table: 表;
-
View: 视图;
-
Function: 函数;
-
Procedure: 存储过程;
三: 数据库对象的操作:
-
Create: 创建对象
-
Drop: 删除对象
-
Alter: 修改对象
-
Trigger: 触发器;
-
Index: 索引; 提高查询的性能,创建了索引不一定会提高查询速度
-
trigger和index只有create和drop能使用
四:美国信息标准交换码:ASCII码
-
大写A: 65 - 大写Z: 90
-
小写a: 97 - 小写z: 122
-
数字0: 48 - 数字9: 57
五: 表中一行数据代表一条记录
Create: 创建对象
Drop: 删除对象
Alter: 修改对象
Trigger: 触发器;
Index: 索引; 提高查询的性能,创建了索引不一定会提高查询速度
trigger和index只有create和drop能使用
-
大写A: 65 - 大写Z: 90
-
小写a: 97 - 小写z: 122
-
数字0: 48 - 数字9: 57
五: 表中一行数据代表一条记录
六: ORM[对象关系映射]
-
o (java中的类或对象)
-
r (数据库中的表)
-
m (映射: 表中的列和类中的成员变量的对应关系)
七: MySQL数据库中的数值类型
-
整数: tinyint⾮常⼩的整数 smallint⼩的整数 mediumint中等⼤⼩的整数 integer标准的整数 bigint⼤整数
-
浮点数: float(m,d) double(m,d)
-
定点数: decimal(m,d) m表示总位数,d表示小数位数
-
无符号数: 数值类型 + unsigned
-
时间: year: (了解一下)
date: 表示⽇期,格式是 YYYY-MM-DD
time: 表示时间,格式是 hh:mm:ss[.uuuuuu] 或者 hhh:mm:ss[.uuuuuu]
datetime: 表示⽇期+时间,格 式是 YYYY-MM-DD hh:mm:ss[.uuuuuu]
timestamp: 时间戳(当前时间距离 1970-01-01 00:00:00 的秒数)
其中的YYYY 、 MM 、 DD 、 hh 、 mm 、 ss 、 uuuuuu 分别表示年、⽉、⽇、时、分、秒、⼩数秒
八: MySQL数据库中的字符串类型
o (java中的类或对象)
r (数据库中的表)
m (映射: 表中的列和类中的成员变量的对应关系)
-
整数: tinyint⾮常⼩的整数 smallint⼩的整数 mediumint中等⼤⼩的整数 integer标准的整数 bigint⼤整数
-
浮点数: float(m,d) double(m,d)
-
定点数: decimal(m,d) m表示总位数,d表示小数位数
-
无符号数: 数值类型 + unsigned
-
时间: year: (了解一下)
date: 表示⽇期,格式是 YYYY-MM-DD
time: 表示时间,格式是 hh:mm:ss[.uuuuuu] 或者 hhh:mm:ss[.uuuuuu]
datetime: 表示⽇期+时间,格 式是 YYYY-MM-DD hh:mm:ss[.uuuuuu]
timestamp: 时间戳(当前时间距离 1970-01-01 00:00:00 的秒数)
其中的YYYY 、 MM 、 DD 、 hh 、 mm 、 ss 、 uuuuuu 分别表示年、⽉、⽇、时、分、秒、⼩数秒
八: MySQL数据库中的字符串类型
ENUM类型和SET类型:
ENUM('男', '⼥') 相当于⼀个单选框
SET('打球', '画画', '扯犊⼦', '玩游戏') 相当于一个多选框
九: 数据库基本操作
-
-- 登入数据库 mysql -h localhost -u root -p
-
-- 查看mysql中的数据库 show databases;
-
查询user中有多少字段:
desc user;
-
-- 查看mysql数据库中的表
show tables;
-
-- 查看数据库中的存储引擎 show engines;
-
-- 创建数据库 create database 数据库名; create database if not exists 数据库名;
-
-- 删除数据库 drop database 数据库名;
drop batabases if exists 数据库名;
-
-- 创建带字符集和排序规则的数据库 create database 数据库名 character set = 'utf8mb4' collate = 'utf8mb4_general_ci';
-
-- 切换当前数据库到别的数据库中 use 数据库名称;
十: 表的基本操作
-
如果不存在则创建表:
create table if not exists 表名 (
列名1 数据类型 [列的属性],
...
列名n 数据类型 [列的属性]
) comment '表的注释信息';
-
删除表:
drop table 表名;
如果存在则删除表:
drop table if exists 表名;
-
查看表结构:
desc 表名;
show create table 表名;
-
修改表名:
alter table 旧表名 rename to 新表名;
批量修改表明:
rename table 旧表名1 to 新表名1, 旧表名2 to 新表名2, ... 旧表名n to 新表名n;
-
将表从这个数据库转移到另一个数据库下(还可以改名):
alter table student1 rename to buba01.student3; alter table buba01.student3 rename to buba.student1;
-
增加表中的列:
alter table 表名 add column 列名 数据类型 [列的属性];
添加到第一列:
alter table 表名 add column 列名 列的类型 [列的属性] first;
添加到指定列的后边:
alter table 表名 add column 列名 列的类型 [列的属性] after指定列名;
-
修改列的信息
① alter table 表名 modify 列名 新数据类型 [新属性];
② alter table 表名 change 旧列名 新列名 新数据类型 [新属性];
-
⼀条语句中包含多个修改操作
① alter table student1 drop column 列名1,
② drop column 列名2;
十一:查询语句
-
查看某个表⾥已经存储了哪些数据:
select * from 表名;
-
查询当前系统的日期时间: select now() from dual;
十二:插入语句
-
插⼊数据:
insert into 表名(列1, 列2, ...) values (列1的值,列2的值, ...);
-
批量插入数据:
insert into 表名(列1, 列2, ...) values (列1的值,列2的值, ...), (列1的值,列2的值, ...),...;
-- 登入数据库 mysql -h localhost -u root -p
-- 查看mysql中的数据库 show databases;
查询user中有多少字段:
desc user;
-- 查看mysql数据库中的表
show tables;
-- 查看数据库中的存储引擎 show engines;
-- 创建数据库 create database 数据库名; create database if not exists 数据库名;
-- 删除数据库 drop database 数据库名;
drop batabases if exists 数据库名;
-- 创建带字符集和排序规则的数据库 create database 数据库名 character set = 'utf8mb4' collate = 'utf8mb4_general_ci';
-- 切换当前数据库到别的数据库中 use 数据库名称;
-
如果不存在则创建表:
create table if not exists 表名 (
列名1 数据类型 [列的属性],
...
列名n 数据类型 [列的属性]
) comment '表的注释信息';
-
删除表:
drop table 表名;
如果存在则删除表:
drop table if exists 表名;
-
查看表结构:
desc 表名;
show create table 表名;
-
修改表名:
alter table 旧表名 rename to 新表名;
批量修改表明:
rename table 旧表名1 to 新表名1, 旧表名2 to 新表名2, ... 旧表名n to 新表名n;
-
将表从这个数据库转移到另一个数据库下(还可以改名):
alter table student1 rename to buba01.student3; alter table buba01.student3 rename to buba.student1;
-
增加表中的列:
alter table 表名 add column 列名 数据类型 [列的属性];
添加到第一列:
alter table 表名 add column 列名 列的类型 [列的属性] first;
添加到指定列的后边:
alter table 表名 add column 列名 列的类型 [列的属性] after指定列名;
-
修改列的信息
① alter table 表名 modify 列名 新数据类型 [新属性];
② alter table 表名 change 旧列名 新列名 新数据类型 [新属性];
-
⼀条语句中包含多个修改操作
① alter table student1 drop column 列名1,
② drop column 列名2;
十一:查询语句
-
查看某个表⾥已经存储了哪些数据:
select * from 表名;
-
查询当前系统的日期时间: select now() from dual;
十二:插入语句
-
插⼊数据:
insert into 表名(列1, 列2, ...) values (列1的值,列2的值, ...);
-
批量插入数据:
insert into 表名(列1, 列2, ...) values (列1的值,列2的值, ...), (列1的值,列2的值, ...),...;
查看某个表⾥已经存储了哪些数据:
select * from 表名;
查询当前系统的日期时间: select now() from dual;
-
插⼊数据:
insert into 表名(列1, 列2, ...) values (列1的值,列2的值, ...);
-
批量插入数据:
insert into 表名(列1, 列2, ...) values (列1的值,列2的值, ...), (列1的值,列2的值, ...),...;