10.30 MySQL数据库基础
MySQL登录与退出
登录
mysql  -hlocalhost  -P3306 -uroot -p
-h  mysql服务器ip
-P  mysql端口号
-u  用户名
-p  密码
退出
exit
quit
\q
修改mysql提示符
prompt 提示符
\D 完整的日期
\d 当前数据库
\h 服务器名称 \u 当前用户
![[1280X1280 (29).PNG]]
数据库基础知识
数据库由一批数据构成的有序集合,这些数据被分门别类地存放在一些结构化的数据表(table)里,而数据表之间又往往存在交叉引用的关系,这种关系使数据库又被称为关系型数据库
- 
档案柜=数据库 
- 
抽屉=表 
- 
文件=记录 
MySQL语法
MySQL采用结构化查询语言SQL (Structured Query Language)语言来操作数据库
- 
SQL语句必须以 ; 结束 
- 
SQL语句分类 - 
DDL(数据定义语言): create、drop、alter、truncate 
- 
DQL(数据查询语言): select、show 
- 
DML(数据操作语言): insert、update、delete 
- 
DCL (数据控制语言): grant、revoke、begin transaction、commit、roolback 
- 
功能函数——日期函数、数学函数、字符函数、系统函数等 
 
- 
MySQL存储引擎
MySQL数据表类型由存储引擎来决定,主要有6种类型:InnoDB 、BDB、MyISAM、ISAM、、Heap、Merge
- 
InnoDB 支持事务 支持外键 不支持数据压缩 写速度较慢 MySQL5.5开始支持全文索引 占用更多的内存和磁盘空间来保留数据和索引 
- 
MyISAM 不支持事务 不支持外键 访问速度快 支持全文索引 
MySQL中使用SQL语言几点说明
- 
属于一个SQL语句,使用分号(;)结尾,否则mysql认为语句没有输入完。 
- 
箭头(->)代表SQL语句没有输入完 
- 
取消SQL语句使用(\c) 
- 
SQL语句关键字和函数名不区分大小写(Linux区分,Windows不区分) 使用函数时,函数名和后面的括号之间不能有空格yigou_shop yigouShop 
MySQL数据类型
整型 浮点型 字符型 布尔型 日期型
整形【1个字节就是2的8次方】
![[1280X1280 (30).PNG]]
int(10) unsigned zerofill //最大10位数字的无符号整数
整数类型的语法(以INT为例): INT[(M)]
注意:在MySQL中,允许在整数后面带一个表示显示宽度的数字
如:INT(5),表示宽度为5 0-99999 00000-99999
浮点型
![[c12006b7-7d2a-4bf6-9292-d612b68741df.png]]
float[(总位数,小数点后位数)] 最大精确到小数点后7位
double[(总位数,小数点后位数)] 最大精确到小数点后15位
注:超过限定长度将进行四舍五入计算
字符串类型
char(5) 定长 jack - 5
varchar(5) 变长 jack - 4
![[83a772f1-6255-4aee-97f0-739014dd6dd7.png]]
日期型【基本上不用】
![[e4c5f00e-ca53-40c2-9f27-95c327b98ccc.png]]
布尔值
BOOLEAN或简写为BOOL 0表示假,非0表示真,一般用1表示
注意事项
CHAR的长度范围在0 - 255之间
VARCHAR类型的长度范围0 - 65535
在使用CHAR和VARCHAR类型时,当我们传入的实际的值的长度大于指定的长度,字符串会被截取至指定长度
在使用CHAR类型时,如果我们传入的值的长度小于指定长度,实际长度会使用空格补至指定长度
在使用VARCHAR类型时,如果我们传入的值的长度小于指定长度,实际长度即为传入字符串的长度,不会使用空格填补
CHAR要比VARCHAR效率更高,但占用空间较大
BLOB和TEXT类型是可以存放任意大数据的数据类型
BLOB区分大小写,TEXT不区分大小写
ENUM和SET类型是特殊的的串类型,其列值必须从固定的串集中选择
ENUM只能选择其中一个值,SET可以选择多个值
思考 - 常用的信息使用什么格式
电话号码一般使用什么数据类型存储? char(11)
性别一般使用什么数据类型存储? char(6)
年龄信息一般使用什么数据类型存储? tinyint(3)
照片信息一般使用什么数据类型存储? char()
薪水一般使用什么数据类型存储? float(7,2)
MySQL操作
- 
按操作对象可分为: 数据库操作 数据表操作 数据记录操作 
- 
按操作类型可分为 增加 (Create)操作 修改 (Update)操作 查询 (Read)操作 删除 (Delete)操作 
数据库操作
添加数据库
create database [if not exists] 库名 [[default] character set 编码方式]
查看数据库
show databases      查看MySQL下有哪些数据库
show create database 库名   查看某个数据库的详细信息
修改数据库
alter database 库名 [default] character set 编码方式
删除数据库
drop database [if exists] 库名
