mysql基础——库与表的操作

在学习了mysql的基础内容后,我们接下来要讲解一些有关于对库与表的相关操作

库的操作

1、创建数据库

语法:

\]中的是可选项,可以不写 大写的表示关键字,CHARACTER SET是指定数据库采用的字符集,COLLATE指定数据库字符集校验规则。 关于数据库的存放,我们可以在/var/lib/mysql下查找(ls可能需要root权限) ![](https://i-blog.csdnimg.cn/direct/b9a7c6d0908d4ff6b696f9660dbd06ff.png) #### 2、删除数据库 drop database name;(删除name库) 创建/删除数据库本质是在该目录下新建/删除目录 #### 3.字符集和校验规则 也就是说我们使用的库采用对应的字符集及其相应的校验规则,我们可以用以下命令查看系统默认的字符集和校验规则。 ```cpp show variables like 'character_set_database'; show variables like 'collation_database'; ``` ![](https://i-blog.csdnimg.cn/direct/da81a5e4592b4131bfd5eedf098e1695.png) 我们存储以及读取数据时候必须保持二者均一致不然会出现问题。除此之外我们还可以查看其他的字符集和校验规则 ```cpp show charset; show collation; ``` 不同的规则对数据库也有影响,假如我们要一个不区分大小写的库 > create database test1 collate utf8_general_ci; > > create database test2 collate utf8_bin;(区分大小写的库) #### 4.对库的使用 我们在对某一个库进行插入数据等操作前,还要用以下语句 > use name;(使用name库) 相当于我想使用必须先进入到该目录下 #### **操纵数据库** ##### 1.删除数据库 > drop database name; 但我们不建议对数据库直接删除,因为一旦删除里面对应的所有内容也会被全部删除,也内部看不到数据库。 ##### 2.查找数据库 :show databases; show create database name:查看当时创建该库时的语句。 ##### 3.查看当前所在数据库:select database(); ![](https://i-blog.csdnimg.cn/direct/66166004545d488aa6d8b67c2a1efba0.png) ##### 4.修改数据库------关键字alter 比如我们想改字符集和校验规则:alter database name charset=... collate ...; #### **数据库的备份与恢复** 备份语法:# mysqldump -P3306 -u root -p 密码 -B 数据库名 \> 数据库备份存储的文件路径 恢复语法:mysql\> source 路径;(目标路径下的备份库) 如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据 库,再使用source来还原。 有了库的相关操作,接下来我们就要进入到数据库内创建表然后对表进行相关操作。 ### 表的操作 #### 创建表 语法: > create table table_name ( > > field1 datatype, > > field2 datatype, > > field3 datatype ) > > character set 字符集 collate 校验规则 engine 存储引擎; > > (也可以都写在一行,为了美观写完一行按换行键在下一行写) > > ***field 表示列名 datatype 表示列的类型 character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准 collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准*** 创建以后我们会发现当前库的目录下会增加几个文件(不同引擎对应的文件数量不同),这些文件就是记录着表的数据。 ![](https://i-blog.csdnimg.cn/direct/68055a5d9372422c99a0cfe103292a89.png)![](https://i-blog.csdnimg.cn/direct/d5caa0a7a0114cf8b1a14711e23d75e2.png) #### 查看表 语法:show tables; ![](https://i-blog.csdnimg.cn/direct/0716ef16792f4061b2ea979952f6e77e.png) 查看表的详细信息:desc tablename; ![](https://i-blog.csdnimg.cn/direct/0fa7e5ee3ded438da1f7a57261a80b8c.png) #### 修改表 在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型, 表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。 > 修改表名:alter table tablename1 rename to(to可省) tablename2; > > 在表中插入一套新数据:insert into tablename values(参数); ![](https://i-blog.csdnimg.cn/direct/a7aad28f905c4c2ba1cda31365dfbbeb.png) 在表中新增加一行属性: > alter table tablename add 属性名 类型 comment '描述' (comment及其后可不写)after name;(在name后增加一列) ![](https://i-blog.csdnimg.cn/direct/e5e2e89e74d94adb9dc4118144d6c78e.png) 插入新字段后,对原来表中的数据没有影响。 修改属性名的类型: > alter table tablename modify 属性名 新类型; 删除某列: > alter table tablename drop name;(删除tablename表中的name列) 修改表中的某一列的名称: > alter table tablename change name name1 类型;(把表中的name列修改名为name1,且需声明新列的类型,也可以与之前同类型) #### 删除表 > 语法: drop table name;

相关推荐
李慕婉学姐3 分钟前
Springboot面向电商的仓库管理系统05uc4267(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
imbackneverdie7 分钟前
AI工具如何重塑综述写作新体验
数据库·人工智能·考研·自然语言处理·aigc·论文·ai写作
千寻技术帮34 分钟前
10379_基于SSM的校园跑腿服务平台
mysql·微信小程序·校园跑腿·ssm
Warren9839 分钟前
datagrip新建oracle连接教程
数据库·windows·云原生·oracle·容器·kubernetes·django
焦糖玛奇朵婷40 分钟前
扭蛋机小程序:线上扭蛋机模式发展新形势[特殊字符]
大数据·数据库·程序人生·小程序·软件需求
YMatrix 官方技术社区1 小时前
YMatrix 高可用详解:3 种镜像策略在节点宕机时表现有何不同?
运维·数据库·数据仓库·ai·数据库开发·数据库架构·ymatrix
嘟嘟w1 小时前
SQL注入是什么
数据库·sql·oracle
摇滚侠1 小时前
Redis 零基础到进阶,Redis 主从复制,笔记55-62
数据库·redis·笔记
surtr11 小时前
数据库基础(数据库原理和应用)
数据库·sql·mysql·oracle·database
张人玉1 小时前
c# DataSet 类
数据库·c#·dataset