MySQL数据库管理
数据库基本操作
SQL语句管理
DDL数据定义操作 创建数据库对象 比如库、表、索引
DML数据操纵 用来插入、删除修改数据库中的数据
DQL数据查询 查找符合条件的数据纪录
DCL数据控制 设置或者更改数据库用户和角色权限
查看数据库信息
show databases
查看数据库中的表信息
use 数据库名 #切换到书库中
show tables
show tables in mysql
显示数据表的结构(字段)
describe user
常用的数据类型:
int:整型 用于定义证书类型的数据
float:单精度浮点4字节32位 精准表示到小数点后六位
double:双精度浮点8字节64位
char:固定长度的字符类型 用于定义字符类型数据
varchar:可变长度的字符类型
text:文本
image:图片
decimal(5,2)5个有效长度数字,小数点后有2位 指定长度数组
DDL数据定义操作 创建数据库对象 比如库、表、索引
创建新的数据库:create database 数据库名
创建新的表:create table 表名(字段1 数据类型,字段2 数据类型 主键名)
#主键一般选择能代表唯一性的字段 不允许取空值(null),一个表只能有一个主键
create database kgc; 创建一个叫kgc的数据库
use kgc; 进入数据库
create table ky29 (id int NOT NULL,name char(10) NOT NULL,score decimal(5,2),passwd char(48) DEFAULT’',PRIMARY KEY(id)); 创建一个叫ky29的表格
create table ky29(id int not null,name char(10)not null,score decimal(5,2),passwd char(48)default’',primary key(id));
desc ky29 查看创建的表
drop table ky29; 删除表格
drop table kgc.ky29 删除表格的另一种方法
drop database kgc 删除数据库
DML管理表中的数据记录
数据操作语言,用于对表中的数据进行管理,用来插入,删除和修改数据库中的数据
insert 插入
updata 更新
delete 删除
格式;
insert into 表名(字段1 字段2 … )values(字段1的值,字段2的值…);
insert into ky29 (id,name,score,passwd)values(1,‘zhangsan’,90,PASSWORD(‘123456’)); 将zhangsan的信息输入进去
或者
insert into ky29 values (1,‘zhangsan’,90,PASSWORD(‘123456’));
update ky29 set name=‘lisi’ where id=‘1’ ; 将id1的人姓名更改为lisi
delete from ky29 where id=‘1’; 删除id为1的人所有信息
delete from ky29 删除整个ky29表里面的内容
select id,name from ky29 单独查询ky29中的id和name
select * from ky29 limit 3 查看ky29表中前三行所有内容
select * from ky29 limit 2,3 查看ky29表中第2行后面3行的内容
DCL 修改表名和表结构
alter table ky29 rename ky30 把ky29的名字改成ky30
alter table ky29 ADD address varchar(50) default ‘地址不详’ 新增一条信息
alter table ky29 change name user_name varchar(10) unique key; 将name改为其他的
alter table ky29 drop passwd ; 删除ky29里面的passwd字段
create table ky29_bak like ky29 创建一个ky29的备份(复制)但是只会复制表结构,内容不会复制
insert into ky29_bak select * from ky29 将ky29里面的内容复制到ky29的备份里面
另一种备份的方式
create table ky29_bak (select * from ky29) 直接备份ky29里面的所有内容
删除类型
drop>truncate>delete
drop 删除整个表
truncate 删除表内容,保留结构
delete 删除全部内容,包括结构
drop:
删除速度快
表格内容和结构全部删除
不可以带where
不可回滚(无法恢复)
属于ddl
truncate:
删除速度快
表的内容删除
不可以带where
不可回滚(无法恢复)
属于ddl
delete:
删除速度慢,需要逐行删除
表结构在,表内容要看where执行的情况
可以带where
可以回滚
属于dml
应用场景
不再需要一张表的时候可以用drop
想删除部分数据行的时候可以用delete并且加上where字句
保留表而删除数据的时候可以用truncate
创建临时表
create temporary table ky21 (id int(4) zerofill primary key auto_increment,name varchar(10) not null,cardid int(18) not null unique key,hobby varchar(60));
退出数据库就没了
临时表使用场景:
可以作为测试环境使用,比如删除大量数据的时候,可以创建临时表,做一个复杂删除
远程访问
GRANT ALL PRIVILEGES ON * . * TO ‘root’@‘%’ IDENTIFIED BY ‘Admin@123’;
revoke all on * . * from ‘root’ @ ‘%’ 撤销权限 all代表所有 * . * 代表所有的数据库
授权用户权限 all privileges
insert 插入数据
select 查询数据
update 更新数据
delete 删除数据
drop 删除库或者表
create 创建数据库或者表
index 创建索引
alter 修改表的属性
create view 创建视图
create routine 创建存储过程
alter routine 修改存储过程
event 事件
.myd是MySQL数据文件的扩展名。它存储了MyISAM表的实际数据。
.myi是MySQL索引文件的扩展名。它存储了MyISAM表的索引。
.frm是MySQL表定义文件的扩展名。它存储了表的结构和其他元数据信息。