MySQL数据库的基本管理操作

目录

引言

一、MySQL基本概念

1.1 库和表

1.2  常用的数据类型

1.3  MySQL数据库日志

二、查看数据库

2.1 查看当前服务器中的数据库

2.1.1  进入数据库

2.1.2  查看数据库信息 

2.2 查看数据库中包含的表

2.3  显示数据表的结构(字段)

2.4  查看mysql版本

 三、SQL语句

3.1  DDL 

3.1.1  创建新的数据库

 3.1.2 创建新的表

3.1.3  删除指定的数据表

3.1.4  删除指定的数据库

3.2   DML 管理表中的数据记录

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

3.2.2  修改、更新数据表中的数据记录 

3.2.3  在数据表中删除指定的数据记录 

3.3   DQL  查询数据记录

3.4  DCL 修改表名和表结构

3.4.1  修改表名

3.4.2  扩展表结构(增加字段)

​编辑3.4.3   修改字段(列)名,添加唯一键

3.4.4 删除字段

3.5  使用 if 判断 创建表并测试自增和填充

 四、总结


引言

MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

本章将介绍MySQL数据库的基本操作管理的命令,了解MySQL数据库是怎么运行的。

一、MySQL基本概念

1.1 库和表

数据库–---->数据表–----->行(记录):用来描述一个对象的信息

数据库 ----> 数据表 ----->  列(字段):用来描述对象的一个属性

1.2  常用的数据类型

类型                                         说明
int   整型(定义整数类型数据)
float 单精度浮点,4字节32位,准确到小数点后六位
double  双精度浮点,8字节64位
char 固定长度的字符类型,定义字符类数据
varchar 可变长度的字符类型
text 文本
image  图片
decimal (5,2) 5个有效长度数字,小数点后面有2位,指定长度数组

 
 
    
   
    
    
    
   
    
 

(1)char 为固定长度值,不足的以空格替代。

(2)varchar 为可变值,最大为设置的长度值,当不足时,即为当前长度大小。

(3)例如:定义char(4)和varchar(4) ,当输入ab时,char的长度就为4,虽然不足,但是不足的部分使用了空格进行补充;而varchar的长度就为3,因为ab两个字节再加一个结尾字符也算一个字节。

(4)char :占用空间,查询效率非常高(最大的字符为:255); varchar:不占用空间,查询数据非常差,不常用(字符可设为:65535)

注: 主键是唯一的,但主键可以由多个字段组成

1.3  MySQL数据库日志

数据库日志

数据库日志文件用于备份,恢复,故障定位、分析是最核心的部分。

MySQL  与  Oracle 日志有所区别:

mysql  写一条数据,同步到日志中一条

PS: insert  into ky12 (id,name,score)  values (1,'lisi',20);

oracle :  重做日志组

一个组中至少3个日志成员,轮流存储日志,还会有另一个组与同步、备份

阿里云oss  对象存储,一式三份备份(使用重做日志组思想)

对象存储:存储大多是一些静态文件(图片、音频、视频);不能直接在对象存储中修改数据

飞天平台、盘古系统、钟馗:安全

女娲:选举、调度,盘古一式三份

MySQL  存储引擎

mysam 和  innodb

  • myisam : 快速读取,不支持事务
  • innodb : 更注重写,支持事务

二、查看数据库

2.1 查看当前服务器中的数据库

2.1.1  进入数据库

mysql -u root -p密码
-u 连接数据库的用户名
-p 后面跟的是连接数据库的密码(不能有空格)

MySQL数据库的基本管理操作_第1张图片

2.1.2  查看数据库信息 

#大小写不区分,分号“;”表示结束
SHOW DATABASES;						

MySQL数据库的基本管理操作_第2张图片

2.2 查看数据库中包含的表

USE 数据库名;  ##切换到数据库中
SHOW TABLES;  
 
#示例1
use mysql
show tables;
或者可以不进入数据库中,但必须加上库名
show  tables in MySQL

MySQL数据库的基本管理操作_第3张图片

MySQL数据库的基本管理操作_第4张图片

2.3  显示数据表的结构(字段)

USE 数据库名;
describe user;
DESCRIBE [数据库名.]表名;
可缩写成:DESC 表名;

注:ASC|DESC 
ASC 是按照升序进行排序的,默认的排序方式,即ASC可以省略。select 语句中如果没有指定具体的排序方式,默认按ASC方式进行排序。

DESC  是按降序方式进行排列的。当然order by 前面也可以使用where 子句对查询结果进行过滤。

表中字段的含义

MySQL数据库的基本管理操作_第5张图片

field:字段名称
type:数据类型
null:是否允许为空
key:主键
default:默认值
extra:扩展属性,例如:标志符列(标识了种子,增量/步长)1  2
id: 1 3 5 7

示例1:使用相对路径查看

方法一:

MySQL数据库的基本管理操作_第6张图片

方法二:加  \G

MySQL数据库的基本管理操作_第7张图片 示例2:使用绝对路径查看

MySQL数据库的基本管理操作_第8张图片

2.4  查看mysql版本

#在mysql内查看mysql版本
select version();
 
#在linux系统中查看mysql版本
mysql -V

MySQL数据库的基本管理操作_第9张图片

 三、SQL语句

SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能。

SQL语句分类:

    语句                                 代表的意思
DDL  数据定义语言,用于创建数据库对象,如库、表、索引等(create )
DML  数据操纵语言,用于对表中的数据进行管理(insert drop delete update )
DQL 数据查询语言,用于从数据表中查找符合条件的数据记录(select )
DCL 数据控制语言,用于设置或者更改数据库用户或角色权限(grant )

注:数据控制语句,用于控制不通数据段直接的许可和访问级别的语句,这些语句定义了数据库、表、字段、用户的访问权限和安全级别,如(COMMIT(提交)、ROLLBACK(回滚)、GRANT(授予)、REVOKE(撤回))

3.1  DDL 

数据定义语言,用于创建数据库对象,如库、表、索引等(create )

create:创建

drop:删除

alter:修改

3.1.1  创建新的数据库

 CREATE DATABASE 数据库名; 
 
 #示例:创建一个名为hobby的数据库
 creat database hobby;

MySQL数据库的基本管理操作_第10张图片

 3.1.2 创建新的表

#主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键。

CREATE TABLE 表名 (字段1 数据类型,字段2 数据类型[,...][,PRIMARY KEY (主键名)]);
例:
CREATE DATABASE hobby; .
USE hobby;
CREATE TABLE kfc (id int NOT NULL,name char(10) NOT NULL,score decimal(5,2),passwd char(48)   DEFAULT '',PRIMARY KEY (id)) ;

DESC kfc;
mysql> create table kfc(					//创建名为kfc的表
    -> id int(4) not null,					//设置字段id,长度为4且不能为空
    -> name char(10) not null,				//设置字段name,长度为10且不能为空
    -> address varchar(50) default '中国',	//设置字段address,设为可变长长度50,默认地址为“中国”
    -> primary key (id));					//设置id为主键

MySQL数据库的基本管理操作_第11张图片

3.1.3  删除指定的数据表

#如不用USE进入库中,则需加上数据库名
DROP TABLE [数据库名.]表名;				
#法一:使用绝对路径,需要进入表所在数据库
use hobby;
drop table info;
desc info;

#法二:使用相对路径,不需要进入表所在数据库
drop table student.info;
show tables in student;

MySQL数据库的基本管理操作_第12张图片

3.1.4  删除指定的数据库

DROP DATABASE 数据库名;

MySQL数据库的基本管理操作_第13张图片

3.2   DML 管理表中的数据记录

数据操纵语言,用于对表中的数据进行管理,用来插入、删除、修改数据库中的数据

insert : 插入

update:修改

delete: 删除

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

格式:

#向数据表中插入新的数据记录
insert into 表名(字段1,字段2,字段3) values(字段1的值,字段2的值,字段3的值);
示例1:
INSERT INTO kfc (id,name,score,passwd) values (1,'zhangsan',70.5,PASSWORD('123456'));
#PASSWORD('123456'):查询数据记录时,密码字串以加密形式显示;若不使用PASSWORD(),查询时以明文显示。

INSERT INTO kfc VALUES(2,'lisi',90.5,654321);

SELECT * FROM kfc;     #查询表的全部数据记录

MySQL数据库的基本管理操作_第14张图片

若不使用PASSWORD(),查询时以明文显示。

示例2:直接使用表明加入字段
insert into info values(2,'lisi',90,123456);

MySQL数据库的基本管理操作_第15张图片

示例3:可以指定字段添加
insert into kfc (id,name) values(3,'wangwu');

MySQL数据库的基本管理操作_第16张图片

3.2.2  修改、更新数据表中的数据记录 

#格式
UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] [WHERE 条件表达式];
例:
UPDATE kfc SET passwd=PASSWORD('123456') WHERE name='lisi';
UPDATE kfc SET name='wangxiaoer',passwd='' WHERE id=5;

MySQL数据库的基本管理操作_第17张图片

不带where条件的语句表示更改表中所有记录(谨慎操作)

3.2.3  在数据表中删除指定的数据记录 

#格式:
DELETE FROM 表名 [WHERE 条件表达式];
 
#示例:删除表中id为4的数据
delete from kfc where id=4

MySQL数据库的基本管理操作_第18张图片

3.3   DQL  查询数据记录

#格式
SELECT 字段名1,字段名2[,...] FROM 表名 [WHERE 条件表达式];
#示例1:查看所有数据
select * from kfc;
 
#示例2:查询指定数据
 select name,score from kfc where id=1;
 
#示例3:以列表方式竖向显示
select * from kfc \G;
 
#示例4:只显示头2行
select * from kfc limit 2;
 
#示例5:显示第2行后的前3行
select * from kfc limit 2,3;

示例1:查看所有数据

MySQL数据库的基本管理操作_第19张图片

示例2:查询指定数据

MySQL数据库的基本管理操作_第20张图片

示例3:以列表方式竖向显示

MySQL数据库的基本管理操作_第21张图片

 注:在\G后面加“;”号,会报错,显示没有指定查询

MySQL数据库的基本管理操作_第22张图片

示例4:只显示头2行

MySQL数据库的基本管理操作_第23张图片

示例5:显示第2行后的前3行 

MySQL数据库的基本管理操作_第24张图片

3.4  DCL 修改表名和表结构

3.4.1  修改表名

ALTER TABLE 旧表名 RENAME 新表名;
  
例:
ALTER TABLE KFC RENAME AAA;
ALTER TABLE AAA RENAME KFC;

MySQL数据库的基本管理操作_第25张图片

3.4.2  扩展表结构(增加字段)

ALTER TABLE 表名 ADD address varchar(50) default '地址不详';
#default '地址不详':表示此字段设置默认值地址不详;可与NOT NULL配合使用
示例
alter table KFC add address varchar(50) NOT NULL default'地址不详';

MySQL数据库的基本管理操作_第26张图片3.4.3   修改字段(列)名,添加唯一键

ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 [unique key];

change:改变

注:unique key :唯一键(特性:唯一,但可以为空,空值只容许出现一次);

       primary key:唯一且非空(主键一般选择能代替唯一性的字段不允许取空值(NULL),一个表只能有一个主键。)

例:
ALTER TABLE KFC CHANGE name user_name varchar(10) unique key;
#CHANGE可修改字段名、数据类型、约束等所有项。

MySQL数据库的基本管理操作_第27张图片

3.4.4 删除字段

格式:

ALTER TABLE 表名 DROP 字段名;
例:
ALTER TABLE KFC drop passwd;

MySQL数据库的基本管理操作_第28张图片

3.5  使用 if 判断 创建表并测试自增和填充

use KY19;
 
create table if not exists info.bak (
id int(4) zerofill primary key auto_increment,###指定主键的第二种方式
name varchar(20) not null,
sid int(18) not null unique key,
ge int(3) not null,
hobby varchar(100));

分析:

  • if not exists:表示检测要创建的表是否已存在,如果不存在就继续创建
  • int(4) zerofill:表示若数值不满4位数,则前面用“0”填充,例0001
  • auto_increment:表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;自增长字段数据不可以重复;自增长字段必须是主键;如添加的记录数据没有指定此字段的值且添加失败也会自动递增一次
  • unique key:表示此字段唯一键约束,此字段数据不可以重复;一张表中只能有一个主键, 但是一张表中可以有多个唯一键
  • not null:表示此字段不允许为NULL

MySQL数据库的基本管理操作_第29张图片

进行测试:插入记录是可以不用加  id  

MySQL数据库的基本管理操作_第30张图片

 四、总结

1、展示数据库;show databases;
2、创建数据库:create database 数据库名
3、进入该数据库:use 数据库
4、创建表结构:create table 表名(字段1 数据类型 NOT NULL,字段2,数据类型 NOT NULL…primary key(某唯一字段));
5、展示该数据库中的表:show tables;
6、插入表内容:insert into 表名 values (结构对应值);
7、按照条件查询内容:select * from 表名 where 字段 = 值;
8、更新数据:update 表名 set 字段=新值 where 字段=值;
9、删除表信息:delete from 表名 where 字段 = 值;
10、只查询当前表中的前2个:select * from 表名 limit=2;
11、只查询当前表中的4-5的用户:select * from 表名 limit 3,2;
12、更改表名:alter table 表名 rename 新表名
13、扩展表结构:alter table 表名 add 新字段 数据类型 default ‘添加默认’;
14、删除指定的表:drop table 表名;
15、克隆表:create table 新表名 like 旧表名,备份内容:insert into 新表名 select * from 旧表名;
16、 清空表、删除表内所有数据:delete from 表名;truncate table 表名;17、授权:grant all privileges on 数据库.数据表 to ‘用户名’@'主机名’identified by ‘密码’;
18、删除授权:revoke all privileges on 数据库.数据表 from 用户@主机;

你可能感兴趣的:(mysql,数据库,database)