【mysql】数据库操作

1. 库的操作

(一)创建数据库

create database [if not exists] + 库名 + [create_specification] [create_specification] ...;

注意:

[]里的内容是可以选择的,既可以写,可以不写

if not exists : 如果库名不存在,则创建一个数据库,如果存在,不做处理

create_specification : 可以是 charset=字符集 或者是 collate=校验规则

(二)创建数据库实例

注意:

当创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_ general_ ci (都是在配置文件里面配置好的)

(三)字符集和校验规则

创建数据库的时候,会有两个编码集:

  1. 数据库编码集 ---- 数据库未来存储数据
  2. 数据库校验集 ---- 支持数据库,进行字段比较使用的编码,本质也是一种读取数据库数据采用的编码格式

因此,数据库无论对数据做任何操作,都必须保证 存储数据库和读取数据库 的编码是一致的

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

show variables like 'character_set_database';

show variables like 'collation_database';

  • 查看数据库支持的字符集

show charset;

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

show collation;

(四)操纵数据库

  • 查看数据库 (可以知道哪些数据库被创建)

show databases;

  • 显示创建语句 (可以知道创建该数据库的过程)

show create database + 数据库名;

注意:

  1. MySQL 建议我们关键字使用大写,但是不是必须的
  2. 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
  3. /*!40100 default.... */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话

(五)修改数据库

alter database + 数据库名 + [alter_spacification] [alter_spacification]...;

注意:

这里的修改数据库信息,一般修改的是它对应的字符集和校验规则

(六)数据库删除

drop database + 数据库名;

注意:

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

所以,不要随意删除数据库

(七)查看mysql连接情况

  • show processlist;

可以知道当前有哪些用户连接到我们的MySQL,如果查出某个用户不是自己正常登陆的,很有可能数据库被人入侵了

2. 备份和恢复

(一)备份

mysqldump -P + 端口号 + -u + 主机名 + -p + 密码 + -B + 数据库名 > 新创建的文件名

注意:

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

(二)还原

  • source + 还原文件的路径名

注意:

如果备份的不是整个数据库,而是其中的一张表(即备份文件的时候不带 -B 选项),还原过程就不一样了

  1. mysqldump -u root -p 数据库名 表名1 表名2 > 指定路径下的文件

同时备份多个数据库中的表

在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原(该文件内并没有创建数据库的语句)

  1. mysqldump -u root -p -B 数据库名1 数据库名2 > 指定路径下的文件

同时备份多个数据库

3. 表的操作

(一)创建表

create table + 表名 (

field1 datatype,

field2 datatype,

field3 datatype

) character set 字符集 collate 校验规则 engine 存储引擎;

注意:

field 表示列名

datatype 表示列的类型

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

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

(二)创建表案例

注意:

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

如: 存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:

users.frm:表结构

users.MYD:表数据

users.MYI:表索引

(三)查看表结构

  • desc + 库名

(四)修改表的结构

  • alter table + 表名 + add (column datatype [DEFAULT expr][,column datatype]...);

添加表结构

  • 修改表结构字段类型

alter table + 表名 + modify (column datatype [DEFAULT expr][,column datatype]...);

  • 删除表结构

alter table + 表名 + drop (column);

  • 修改表名

alter table + 表名 + rename to + 修改后的名字

注意:

to 可以省略

(五)删除表

  • drop table + 表名

 

### 回答1: 如果要在 MySQL 中新建数据库,可以使用以下 SQL 语句: ``` CREATE DATABASE 数据库名; ``` 例如,如果要新建名为 `mydatabase` 的数据库,可以使用以下 SQL 语句: ``` CREATE DATABASE mydatabase; ``` 注意,在执行这条 SQL 语句之前,需要先连接到 MySQL 服务器,并使用具有创建数据库的权限的用户帐户登录。 如果要在新建数据库时同时创建一个表,可以使用以下 SQL 语句: ``` CREATE DATABASE 数据库名 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; CREATE TABLE 表名 ( 字段1 类型(长度), 字段2 类型(长度), ... ); ``` 例如,如果要在 `mydatabase` 数据库中新建名为 `mytable` 的表,可以使用以下 SQL 语句: ``` CREATE DATABASE mydatabase DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; CREATE TABLE mytable ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(255) DEFAULT NULL, PRIMARY KEY (id) ); ``` 注意: - 在上面的示例中,我们使用了 `DEFAULT CHARACTER SET utf8` 和 `DEFAULT COLLATE utf8_general_ci` 来设置数据库的默认字符集和排序规则。这可以帮助确保在数据库中存储的数据能够正确地处理中文字符。 - 在新建表 ### 回答2: 要在MySQL中新建数据库,可以按照以下步骤进行操作: 1.首先,需要登录到MySQL数据库,使用用户名和密码进行身份验证。 2.成功登录后,可以使用以下命令来新建数据库: CREATE DATABASE database_name; 在命令中,将database_name替换为想要创建数据库的名称。需要确保数据库名称唯一,且符合MySQL的命名规则。 3.执行上述命令后,MySQL将返回一个消息,确认数据库已成功创建。 4.如果需要查看已创建数据库列表,可以使用以下命令: SHOW DATABASES; 这将列出所有已创建数据库,包括刚刚新建的数据库。 以上就是在MySQL中新建数据库的基本步骤。需要注意的是,在创建数据库之前,需要确保已经正确地安装和配置了MySQL数据库服务器。同时,应该在创建数据库之前,仔细考虑数据库的设计需求,包括所需的表和字段的定义。 ### 回答3: 在MySQL中新建数据库可以通过使用CREATE DATABASE语句来实现。具体的步骤如下: 1. 打开MySQL命令行或者使用可视化工具,如phpMyAdmin。 2. 输入以下命令创建一个新的数据库: ``` CREATE DATABASE database_name; ``` 这里的database_name是你想要创建数据库的名称,可以按照你的需求进行自定义命名。 3. 执行以上命令后,MySQL创建一个具有给定名称的新数据库。 4. 可以使用以下命令来查看是否成功创建数据库: ``` SHOW DATABASES; ``` 这会列出所有当前存在的数据库,确认你所创建数据库是否在列表中显示。 5. 在新建的数据库中,你可以创建表格并添加数据,进行各种数据库操作。 需要注意的是,创建数据库的权限通常需要具有足够的管理员权限的数据库用户才能执行。如果你没有足够的权限,可能需要联系数据库管理员或以其他适当的方式获取权限后才能创建数据库
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值