MySQL知识点总结

1、掌握 mysql、oracle、sqlserver三种产品的区别(各自使用场景)?

  • MySQL

    • 特点:开源、轻量级、性能高、社区活跃。

    • 场景:中小型 Web 应用(如博客、电商)、读写分离架构、云服务(如 LAMP 栈)。

    • 限制:复杂事务处理能力较弱(但 InnoDB 已优化)。

  • Oracle

    • 特点:商业数据库、功能全面、支持高并发、ACID 强一致性、分布式架构(如 RAC)。

    • 场景:金融、电信等大型企业核心系统、高可用性要求的场景。

    • 缺点:成本高、学习曲线陡峭。

  • SQL Server

    • 特点:微软生态集成(如 .NET、Azure)、图形化管理工具完善。

    • 场景:企业内部系统(ERP、CRM)、Windows 服务器环境。

    • 限制:跨平台支持较弱(Linux 版本已推出但生态有限)。

2、sql语言的四大类 ddl dml dql dcl

  • DDL(数据定义语言)

    数据定义语言 所有sql都与结构相关

    创建 create、修改 alter、删除 drop结构

    库 database、表 table、视图 view、存储过程 procedure、函数 function、触发器 trigger、索引 index等

  • DML(数据操作语言)

    数据操作语言 所有sql都与数据相关

    新增数据 insert、修改数据 update、删除数据 delete

  • DQL(数据查询语言) 查询数据:SELECT。 只负责查询数据

  • DCL(数据控制语言) 权限管理:GRANT, REVOKE, DENY

    数据控制语言

    用户、权限 grant revoke、事务 start transaction ; commit; rollback;

3、如何通过命令行模式连接到mysql数据库,查询所有库,指定操作的数据库,查询库中所有的表,如何实现远程连接?

  • 连接数据库

    连接本机数据库: mysql  -uroot  -p密码 
    连接远程数据库: mysql -h 10.10.15.74 -uroot -proot
    mysql -h ip -u用户名 -p   
    查看用户权限:
    SELECT user, host FROM mysql.user;

  • 常用命令

    SHOW DATABASES;          -- 查看所有库
    USE [库名];              -- 切换数据库
    SHOW TABLES;             -- 查看当前库所有表

4、如何判断一个mysql服务的状态?如何启动、停止mysql服务?

services.msc

cmd窗口:
sc query mysql     -- 查看状态(安装sc服务)
net start mysql80     -- 启动
net stop mysql80      -- 停止

5、创建数据库、表的语法结构?

-- 创建数据库
create database yan9;
create database yanfa9  DEFAULT CHARACTER SET utf8mb4; //在中文字符乱码时使用
​
-- 创建表
CREATE TABLE `表名`(
    列名1 数据类型1 [约束],
    列名2 数据类型2 [约束],
    ....
    列名n 数据类型n [约束]
);
-- 注意:最后一列,不需要加逗号

6、如何删除数据库、删除表?

drop database 库名;
drop table 表名;

7、修改数据表,新增列、修改列、删除列、修改列名、修改表名 对应的sql语法结构?

操作语法示例
新增列ALTER TABLE 表 ADD 列名 数据类型;
修改列类型ALTER TABLE 表 MODIFY 列名 新数据类型;
删除列ALTER TABLE 表 DROP COLUMN 列名;
修改列名ALTER TABLE 表 CHANGE 旧列名 新列名 数据类型;
修改表名RENAME TABLE 旧表名 TO 新表名;
1、修改表名
    rename
2、新增列
    add
3、修改列  
    1)更改约束和数据类型  modify
    2)更改列名  change
4、删除列  drop
​
-- 新增列
alter table student add address varchar(255) ;
-- 修改列
alter table student modify address char(255) ;
alter table student change name username char(16) not null
-- 删除列
alter table student drop address;
-- 查看表结构
desc student;
​
-- 更新student 为stu
alter table student rename to stu;
alter table stu rename student;

8、mysql中常见的数据类型有哪些?

整数型 int

tinyint , smallint , mediumint , int , bigint

浮点型 double

float ,double ,decimal(m,n)

日期时间 datetime

date , time ,datetime ,timestamp(时间戳、精细到毫秒)

字符串

char(定长字符串 ) , varchar(变长字符串), text (), longtext

char(5) 永远占5个字符存储空间

varchar(5) 根据存入的字符串计算占用的存储空间

9、创建表时,常见的约束有哪些?

primary key  主键   唯一且非空
foreign key 外键
auto_increment 配合主键   自动增长
comment '注释'
not null 非空
null 默认  允许为空
default  默认值
unique key 唯一键  唯一约束,要求值不能重复
cid int(6) zerofill 零填空  不足6位,前面用0补齐
反引号  ``   当表名或者列名为mysql中关键字时,需要使用反引号,转义为普通字符

10、char和varchar的区别?

CHARVARCHAR
定长,存储时填充空格变长,按实际长度存储
适合长度固定的字段(如 MD5)适合长度变化的字段(如评论)
最大 255 字符最大 65535 字符(受行限制约)
读取速度更快节省存储空间

11、sql语句中 insert 、update、delete 操作数据的语法结构

insert into 表名(列名1) values (值1);
insert into 表名(列名1,列名2) values (值1,null);
insert into 表名 values (值1,值2,值3);  --依次向表中所有的列赋值
insert into 表名(列名1) values (值1),(值2),(值3);  --依次向表中新增多行数据  mysql支持  oracle不支持
​
​
update 表名 set 列名=值 where 。。。;
delete from 表名 where 。。。。;

12、事务的四个特性

事务的目的是保障一个业务,要么都成功,要么都失败。转账业务。

原子性: 最小单位,要么都成功,要么都失败

一致性:从一个一致性状态到另外一个一致性状态。 转账前后 账户总额保持一致。

隔离性:事务提交之前对外部不可见。

持久性:一经提交,永久生效。

13、事务操作的基本步骤

1、设置自动提交模式关闭  set autocommit=false;
2、开启事务  start transaction;
执行多个dml语句或者dql语句;
不允许执行ddl语句(ddl语句会自动提交事务)
3、手动提交或者回滚事务
commit;|rollback;
4、设置自动提交模式到默认状态 set autocommit=true;

14、如何创建用户、赋权、回收权限

​
create user zhangsan identified by '123456';
alter user zhangsan identified by '0506'; -- 修改密码
​
-- 授权 赋予权限
grant all privileges on *.* to zhangsan; -- 给用户赋予所有权限
grant insert,update,delete on 库名.account to zhangsan; -- 给用户赋予部分权限
​
-- 回收权限
revoke all privileges on *.* from zhangsan;

​
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值