MYSQL数据库管理

94 阅读4分钟
数据库 --> 数据表 --> 行(记录):用来描述一个对象的信息
                     列(字段):用来描述对象的一个属性

mysql常用的数据类型

int(n);整理 范围 4个字节 (-2147483628-2147483647)
float(m,d):单精度浮点 4字节32位 m字数个数,d小数位
double:双精度浮点 8字节64char:固定长度的字符类型
varchar:可变长度的字符类型
text:文本
image:图片
decimal52):5个有效长度数字,小数点后面有2位(+-000.00~999.99

char 和 varchar 的区别

image.png

char无论是否有值,都会占用固定长度的字节大小。
varchar在保存字符时,会默认加一个隐藏的结束符,因此结束会多一个字节,且保存不同字符时候占用的字节大小会不一样

char 和 varchar 的优劣比较

varcharchar 更加省磁盘空间
但是varchar的读写速度比char慢,因此char是连续的磁盘空间,因而varchar在多次增删改查中会产生一些磁盘空间碎片

对于数据库的增删改查

查看数据库

1.查看当前服务器中的数据库
SHOW DATABASES;      #大小写不区分,分号“;”表示结束

image.png

2.查看数据库中包含的表
[方法一]
USE 数据库名;
SHOW TABLES;

image.png

[方法二]
show tables from 数据库名;  #查看某个库中的表

image.png

3.查看表的结构(字段)
[方法一]
USE 数据库名;

image.png

[方法二]
DESCRIBE [数据库名.]表名;
可缩写成:DESC 表名;  #以表格形式显示表结构

image.png

[方法三]
use 数据库名;
show create table 表名; #以命令行形式显示表结构

image.png

4.查看指定表中的所有数据
[方法一]
横向查询表中所有数据
select * from 表名;

image.png

[方法二]
纵向查寻表中所有数据
select * from 表名\G

image.png

mysql的分页语句
select * from 表名 limit 2;   ¥显示第二行的值  
select * from 表名 limit 2,3;   #显示第2行后的前3行(即显示第3~5行) 
select * from 表名 limit 19,11; #查看第20行到第30行的记录 select * from 表名 id>=10 and id<=20; #查看id值在10到20之间的数据记录
### SQL语言分类
DDL:数据定义语言,用于创建数据库对象,如库、表、索引等
DML:数据操作语言,用于对表中的数据进行管理
DQL:数据查询语言,用于从数据表中查找符合条件的数据记录
DCL:数据控制语言,用于设置或更改数据库用户或者角色权限

创建数据库,表

1.创建新的数据库
create databases 数据库名;

image.png

2.创建新的表
create table 表名 (字段1 数据类型, 字段2 数据类型 [......][,PRIMARY KEY (主键名)]);

image.png

删除数据库,表

1.删除指定的数据库
drop table [数据库名.]表名;

image.png

2.删除指定的数据库
drop database 数据库名;

image.png

向数据表中插入新的数据记录

1.向数据表中插入新的数据记录
[方法一]
为所有字段插入值
insert into 表名 values (所有字段的值); #每个字段值用逗号相隔开

image.png

[方法二]
为指定字段插入值
insert into 表名(字段1,字段2[,......])values(字段1的值,字段2的值......); #如果字段属性为 NO NULL 则必须为该字段加值

image.png

修改数据表中的数据

update 表名 set 字段名1=字段名1[,字段名2=字段名2] [WHERE 条件表达式];

image.png

删除数据表中的数据

delete from 表名 [WHERE 条件表达式]; #删除一定要加条件,不然会删除整个表的数据

image.png

修改表名和表结构

1.修改表名
alter table 旧表名 rename 新表名

image.png

2.扩展表结构(增加字段) add
alter table 表名 add 字段名 数据类型;

image.png

3.修改字段名 添加唯一键
alter table 表名 change 旧字段名 新字段名 [数据类型] [约束]

image.png

4.删除字段  drop
alter table 表名 drop 字段名;

image.png

主键primary 和 唯一键unique key

共同点:字段的值都是唯一的,不允许有重复值
不同点:
   自定义的表只能有一个主键,但是可以有多个唯一键。
   主键字段中不允许有null值,唯一键允许有null

案件扩展

image.png

七大约束

非空约束:not null
唯一键约束:unique key
主键约束:primary key
自增约束 auto_increment
默认值约束:default
零填充约束:zerofill
外键约束:foreign key