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;

相关推荐
_苏沐2 小时前
cte功能oracle与pg执行模式对比
数据库·oracle
silver98863 小时前
再谈golang的sql链接dsn
mysql·golang
qq_508823406 小时前
金融数据库--3Baostock
数据库·金融
悦数图数据库7 小时前
图技术重塑金融未来:悦数图数据库如何驱动行业创新与风控变革
数据库·金融
九河云7 小时前
华为云 GaussDB:金融级高可用数据库,为核心业务保驾护航
网络·数据库·科技·金融·华为云·gaussdb
老华带你飞7 小时前
租房平台|租房管理平台小程序系统|基于java的租房系统 设计与实现(源码+数据库+文档)
java·数据库·小程序·vue·论文·毕设·租房系统管理平台
ouou06179 小时前
企业级NoSql数据库Redis集群
数据库·redis·nosql
F_D_Z9 小时前
【SQL】指定日期的产品价格
数据库·sql·mysql