MySQL的库操作和表操作

文章目录

MYSQL

SQL语句分类

  1. DDL【data definition language】 数据定义语言,用来维护存储数据的结构代表指令: create, drop, alter
  2. DML【data manipulation language】 数据操纵语言,用来对数据进行操作代表指令: insert,delete,update,DML中又单独分了一个DQL,数据查询语言,代表指令: select
  3. DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务
    代表指令: grant,revoke,commit

服务器,数据库和表的关系

所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。

如何连接服务器?

mysql -h 127.0.0.1 -P 3306 -u root -p

-h 表示主机号,不写默认为本地,因为MySQL为网络服务,所以是支持远端访问的。

-P 为端口号。不写默认为3306端口。

-u 为指定用户。

-p 是密码。

库操作

  1. 创建库

[] 是可选项。

CHARACTER SET: 指定数据库采用的字符集。

COLLATE: 指定数据库字符集的校验规则。

  1. 字符集和校验规则

查看系统默认字符集以及校验规则

也可以通过show variables like 'collation%' 查看连接以及服务器等的校验规则。

查看数据库支持的字符集

show charset;

查看数据库支持的字符集校验规则

show collation;

  1. 操纵数据库

查看数据库

show databases;

显示创建语句

show create database 数据库名

数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字

/*!40100 default... */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话。

修改数据库

对数据库的修改主要指的是修改数据库的字符集,校验规则

数据库删除

DROP DATABASE [IF EXISTS] db_ name;

执行删除之后,数据库内部看不到对应的数据库,对应的数据库文件夹被删除,级联删除,里面的数据表全部被删。

  1. 备份和恢复

mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径。

db1.sql 文件里的内容,其实把我们整个创建数据库,建表,导入数据的语句都装载这个文件中。

还原

在mysql中执行这个命令。

source /home/ysl/MYSQL/db1.sql

如果备份的不是整个数据库,而是其中的一张表

mysqldump -u root -p 数据库名 表名1 表名2 > 路径

同时备份多个数据库

mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。

查看数据库连接情况

show processlist

表操作

  1. 创建表

field 表示列名。

datatype 表示列的类型。

character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准。

collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准。

不同的存储引擎,创建表的文件不一样。

  1. 查看表

desc 表名;

  1. 修改表

在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。

可以用insert 添加记录

插入新字段性别sex。

修改name,将其长度改成60。

删除tel列

删除字段一定要小心,删除字段及其对应的列数据都没了

修改表名为 test

to:可以省掉。

修改列名字name为xingming。

  1. 删除表


show tables可以查看当前数据库下有哪些表。

相关推荐
sleP4o4 分钟前
Python操作MySQL
开发语言·python·mysql
大熊程序猿31 分钟前
python 读取excel数据存储到mysql
数据库·python·mysql
落落落sss33 分钟前
sharding-jdbc分库分表
android·java·开发语言·数据库·servlet·oracle
jnrjian33 分钟前
Oracle 启动动态采样 自适应执行计划
数据库·oracle
知识分享小能手1 小时前
mysql学习教程,从入门到精通,SQL DISTINCT 子句 (16)
大数据·开发语言·sql·学习·mysql·数据分析·数据库开发
lamb张1 小时前
MySQL锁
数据库·mysql
ForRunner1231 小时前
使用 Python 高分解决 reCAPTCHA v3 的指南
数据库·python·microsoft
躺平的花卷2 小时前
Python爬虫案例六:抓取某个地区某月份天气数据并保存到mysql数据库中
数据库·爬虫·python·mysql
Flying_Fish_roe3 小时前
linux-安全管理-防火墙与网络安全
linux·数据库·oracle
A_cot3 小时前
Redis 的三个并发问题及解决方案(面试题)
java·开发语言·数据库·redis·mybatis