宣传网站制作方案,女生冷门又高薪的职业,网络运营招聘信息,wordpress正文页面文章目录 一、什么是DDL操作二、数据库编码集和数据库校验集三、使用步骤对数据库的增删查改1.创建数据库2.进入数据库3.显示数据库4.修改数据库mysqldump 5.删除数据库 对表的增删查改1.添加/创建表2.插入表内容3.查看表查看所有表查看表结构查看表内容 4.修改表修改表的名字修… 文章目录 一、什么是DDL操作二、数据库编码集和数据库校验集三、使用步骤对数据库的增删查改1.创建数据库2.进入数据库3.显示数据库4.修改数据库mysqldump 5.删除数据库 对表的增删查改1.添加/创建表2.插入表内容3.查看表查看所有表查看表结构查看表内容 4.修改表修改表的名字修改表的结构对表结构的增加对表结构的其中一列属性进行修改对表结构的其中一列改名并修改属性对表结构的删除 删除表 一、什么是DDL操作
DDLData Definition Language是数据定义语言的缩写它是SQLStructured Query Language语言的一个子集用于定义或修改数据库的结构。DDL主要包括创建CREATE、修改ALTER、删除DROP等操作。
二、数据库编码集和数据库校验集
数据库编码集就是当对数据库内容进行存储时采用怎样的编码格式来存储。 数据库校验集就是当对数据库内容进行读取时采用怎样的编码格式来读取。
所以为了保证数据库在读取数据时不会产生乱码我们就需要让数据库的编码集和校验集进行对应比如说用utf8的格式进行存储那么也必须使用utf8的格式进行读取
如何查看自己的mysql支持怎样的编码集和校验集 show charset; 查看编码集 show collation; 查看校验集
如何查看当前的默认的编码集和校验集 show variables like character_set_database; show variables like collation_database;
三、使用步骤
对数据库的增删查改
1.创建数据库
现在我要创建一个名为test的数据库应该怎么创建呢
create database test; 这是最简单的写法。create database if not exists test; 加上if not exists 表示如果不存在该数据库才创建。create database if not exists test charsetutf8mb3 collateutf8mb3_general_ci; 加上charsetutf8mb3让该数据库默认采用utf8mb3的编码集格式collateutf8mb3_general_ci让该数据库默认采用utf8mb3_general_ci的编码集格式。这里的charsetutf8mb3还可以写成 character set utf8mb3collateutf8mb3_general_ci还可以写成collate utf8mb3_general_ci。
当我们创建一个数据库之后我们可以在/var/lib/mysql路径下找到对应的数据库目录。
2.进入数据库
use database_name; 进入了这个数据库我们才能再对数据库中的表进行增删查改。
3.显示数据库
show databases; 如何查看我当前所在的数据库 select database();
4.修改数据库
对数据库进行修改只能修改其字符编码集和字符校验集。 alter database test charsetgbk collategbk_chinese_ci; SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME DATABASE();
那有没有修改数据库名字的操作呢 以前有但是被移除了因为不安全 如果想要修改数据库的名字应该使用mysqldump进行备份
首先这里需要插入一个前备知识。 当输入show create database test; 需要注意的是这里的/*!40100 DEFAULT CHARACTER SET gbk / /!80016 DEFAULT ENCRYPTION‘N’ */并不是注释而是可变选项
所以这个指令是什么意思 这个指令是告诉我们如果要创建一个test数据库需要输入怎样的指令。 mysqldump
mysqldump是一个bash命令并不是mysql命令这个命令程序在安装mysql的时候也顺带安装上了。 我们如果要将某个数据库进行备份就可以使用这个命令。
我们先在test库先创建一个表并插入一些内容以便等会看实验现象。 此时我们再退出数据库并进入一个空目录下执行命令 mysqldump -P 3306 -u root -p -B test ./test.sql 再使用ls就可看到此目录多出一个test.sql的文件。 我们可以打开文件看文件的内容是什么。
如果细心观察就可以看出这就是一串创建数据库、创建表并插入数据的mysql指令。 所以mysqldump的备份其实是备份“指令”。
那么怎么导入这个文件为我们创建数据库呢 再登录我们的mysql将我们的test数据库删掉。 输入source /home/fengjunziya/test/lesson37_mysqltest/test.sql; 它就为我们执行了那个文件的命令也就达到了备份导入的作用。
可是怎么修改数据库名字呢 首先在使用mysqldump命令时不能加上-B mysqldump -P3306 -uroot -p test test.sql 这时我们就可以看到文件内的并没有创建数据库的指令。 所以我们在使用source导入的时候就需要先创建一个数据库新名字再进行导入。
create database hello; 创建hello数据库 use hello; 进入hello数据库 source /home/fengjunziya/test/lesson37_mysqltest/test.sql; 导入文件指令 select database(); 查看当前所在数据库 select * from user; 查看user表中的数据内容 最后也是被拷贝进来了。
5.删除数据库
删除数据库很简单但是一旦删除数据库该数据库内的数据将全部被清空所以需要谨慎
drop database database_name;
需要注意的是对于数据库而言不论是修改还是删除都是有风险的行为因为我们的数据库一般都是直接与上层服务连接一旦修改数据库的名字或者删除数据库都可能会造成上层服务出现问题 对表的增删查改
1.添加/创建表
创建表的格式怎么写呢 create table table_name(...); 还可以加入 if not exists 还可以加入comment 添加描述 再复杂点还可以指定字符编码集、字符校验集还有存储引擎
2.插入表内容
insert into table_name values (...), (...), ... ; insert是下一章的DML操作这里大家先接触一下。
3.查看表
查看所有表
show tables;
查看表结构
desc table_name; 查看表内容
select * from table_name; select也是下一章的DML命令。
4.修改表
修改表的名字
alter table table_name rename (to) new_name;
修改表的结构
对表结构的增加
如果要对表原有的结构再加一栏。 alter table table_name add newfield type; alter table teachers add birthday varchar(20) after gender; after gender代表是在gender后面加一栏。
对表结构的其中一列属性进行修改
alter table table_name modify field_name type;
对表结构的其中一列改名并修改属性
alter table table_name change field_name newfield_name type; 对表结构的删除
alter table table_name drop field_name;
删除表
drop table table_name; 一旦删除表该表的数据将全部被清空所以需要谨慎