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;

相关推荐
恒悦sunsite4 小时前
Ubuntu之apt安装ClickHouse数据库
数据库·clickhouse·ubuntu·列式存储·8123
奥尔特星云大使4 小时前
MySQL 慢查询日志slow query log
android·数据库·mysql·adb·慢日志·slow query log
来自宇宙的曹先生4 小时前
MySQL 存储引擎 API
数据库·mysql
间彧5 小时前
MySQL Performance Schema详解与实战应用
数据库
间彧5 小时前
MySQL Exporter采集的关键指标有哪些,如何解读这些指标?
数据库
weixin_446260855 小时前
Django - 让开发变得简单高效的Web框架
前端·数据库·django
mpHH5 小时前
babelfish for postgresql 分析--todo
数据库·postgresql
zizisuo5 小时前
解决在使用Lombok时maven install 找不到符号的问题
java·数据库·maven
老苏畅谈运维6 小时前
Oracle的connect by level在MySQL中的华丽变身
mysql·oracle
程序边界7 小时前
国产之光!金仓数据库KingbaseES Oracle兼容性深度体验大赏
数据库·oracle