mysql相关知识点

2019-04-12  本文已影响0人  土卡拉

数据库可能会考的题目
1、数据库和数据库管理系统之间的关系?
数据库:存储,维护和管理数据的集合
数据库管理系统:其实就是数据库管理软件,通过它可以进行数据库的管理和维护工作

2、sql 语言分类
DDL 数据定义语言 库 表结构
DML 数据操作语言 数据增删改
DQL 数据查询语言 数据查询
DCL 数据控制语言

3、库层的增删改查
创建库 create database 数据库名 default charset=utf8;
删除库 drop database 数据库名;
修改库字符集 alter database 数据库名 default charset=utf8;
查看库 show databases;
查看建库语句 show create database 数据库名;
查看当前使用的数据库 select database();
切换进入数据库 use database

4、表结构层的增删改查

primary key 主键 不允许有重复值,不允许为空
auto_increment 自增长,只对int型主键起作用

5、表数据层的增删改查

delete和truncate差别,truncate后,表中自增主键值从1开始

6、事务
7、索引

通过修改字段的方式添加索引:
alter table 表 add index(字段1,字段2,...)
alter table 表 add primary key(字段1,字段2,...)
alter table 表 add unique(字段1,字段2,...)
alter table 表 add fulltext(字段1,字段2,...)

8、外键
如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表。
添加外键:

删除外键:
ALTER TABLE 从表 DROP FOREIGN KEY 外键名

9、备份与恢复
shell下备份 mysqldump -u root -p 数据库名>生成sql脚本的路径
mysql下恢复 创建空数据库 -> use 库 -> source /home/rock/Desktop/mydb1.sql;
或者 创建空数据库 -> mysql -uroot –p 数据库名 < ~/备份文件.sql

10、pymysql 操作mysql的通用步骤

import pymysql

# 连接数据库
conn = pymysql.connect('localhost', 'user', 'password', 'db')
# 创建游标
cursor = conn.cursor()

# 定制sql语句
sql = '增删改查语句,mysql怎么写这里怎么写'


# 操作表数据第一种情况是需要执行事务的增删改写法
try:
    cursor.execute(sql)
    conn.commit()  # 如果全部执行成功,提交事务
except Exception as e:
    print(e)
    conn.rollback() # 失败回滚

# 操作表数据第二种情况是不需要执行事务的查询写法
# 执行sql语句,获取结果集
cursor.execute(sql)
res = cursor.fetchone()  # res = cursor.fetchall()

# 关闭游标
cursor.close()
# 关闭数据库
conn.close()

11、char和varchar的区别:

12、数据库引擎,其中 myisam和innodb的区别:

13、事务的四大特征ACID

原子性(Atomicity,或称不可分割性)、
一致性(Consistency)、
隔离性(Isolation,又称独立性)、
持久性(Durability)。

原子性:
一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。

一致性:
在事务开始之前和事务结束以后,数据库的完整性没有被破坏。这表示写入的资料必须完全符合所有的预设规则,这包含资料的精确度、串联性以及后续数据库可以自发性地完成预定的工作。

隔离性:
数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。事务隔离分为不同级别,包括读未提交(Read uncommitted)、读提交(read committed)、可重复读(repeatable read)和串行化(Serializable)。

持久性:
事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。

14、事务的流程

执行开始事务命令后,下面将进入事务模式. start transaction、begin

sql语句下 update、delete、insert 需要事务

1在事务执行完成后,确认执行无误且成功,就可以使用commit把内存中执行的结果,提交到物理内存中

2如果在事务执行过程中,发生了错误,则可以使用rollback命令回滚到上一个事务操作

上一篇 下一篇

猜你喜欢

热点阅读