MySQL数据库的操作

MySQL

      • 连接服务器
  • 库的操作
    • 创建数据库
    • 数据库删除
    • 查看数据库
    • 进入数据库
    • 查看所在的数据库
    • 修改数据库
    • 显示创建语句
    • 查看连接情况
  • 表的操作
    • 创建表
    • 查看数据库所有的表
    • 查看表的详细信息
    • 查看创建表时的详细信息
    • 删除表
    • 修改表名
    • 向表中插入数据
    • 在表结构中新增一列
    • 对表结构数据的修改
    • 删除表结构的一列
    • 表结构列名称的修改

在这里插入图片描述

连接服务器

输入:
mysql -h 127.0.0.1 -P 3306 -u root -p
MySQL数据库的操作_第1张图片

输出:
MySQL数据库的操作_第2张图片

注意:
mysql -u root -p

如果没有写 -h 127.0.0.1 默认是连接本地
如果没有写 -P 3306 默认是连接3306端口号

库的操作

创建数据库

  • 创建名为 database1 的数据库目录
    create database database1;

MySQL数据库的操作_第3张图片

当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_ general_ ci

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

  1. 数据库编码集

数据库未来存储数据

  1. 数据库校验集

支持数据库,进行字段比较使用的编码,本质也是一种读取数据库中数据的采用的编码格式

数据库无论对数据做任何操作,都必须保证操作和编码必须是编码一致的!

  • 创建一个使用utf8字符集的 d1 数据库
    create database d1 charset=utf8;
  • 创建一个使用utf8字符集的 d2 数据库
    create database d2 character set utf8;
  • 创建一个使用utf字符集,并带校对规则的 d3 数据库
    create database d3 charset=utf8 collate utf8_general_ci;

查看系统默认字符集以及校验规则
show variables like 'character_set_database';
show variables like 'collation_database';
MySQL数据库的操作_第4张图片

如果编码和校验与上面一样,我们在创建数据库时按照系统默认编码创建就行了。

数据库删除

  • 删除名为 database1 的数据库
    drop database database1;

执行删除之后的结果:

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

注意:不要随意删除数据库

查看数据库

  • 查看数据库
    show databases;

进入数据库

  • 进入名为 database1 数据库
    use database1;

查看所在的数据库

  • 查看自己当前所在的数据库
    select database();

修改数据库

  • 修改database1数据库的字符集;gbk,校验规则:gbk_chinese_ci
    alter database database1 charset=gbk collate gbk_chinese_ci;

说明:

  • 对数据库的修改主要指的是修改数据库的字符集,校验规则

显示创建语句

  • 查看database1数据库创建时的命令
    show create database database1;

MySQL数据库的操作_第5张图片
说明:

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

查看连接情况

show processlist;
MySQL数据库的操作_第6张图片
可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。

注意:不要随意删除数据库,和更改数据库名称。

表的操作

创建表

CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;

说明:

  • field 表示列名
  • datatype 表示列的类型
  • character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
  • collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准
  • comment 对结构类型的描述用''包裹

在这里插入图片描述
在这里插入图片描述

MySQL数据库的操作_第7张图片
在这里插入图片描述
说明:
不同的存储引擎,创建表的文件不一样

查看数据库所有的表

  • 查看当前数据库所有的表结构
    show tables;

查看表的详细信息

  • 查看表名为user1的详细信息
    desc user1;

MySQL数据库的操作_第8张图片

查看创建表时的详细信息

  • 查看创建user1bi表时的详细信息
    show create table user1;

MySQL数据库的操作_第9张图片

  • 过滤调不重要的信息
    show create table user1 \G
    注意这里不需要加;

MySQL数据库的操作_第10张图片

数据库会对你做的任何操作做优化并记录下来。

删除表

  • 删除user2表
    drop table user2;

修改表名

  • 将user1改为user
    alter table user1 rename to user;
    alter table user1 rename user;

两个功能一样,可以将to省略

MySQL数据库的操作_第11张图片

向表中插入数据

  • 向user数据表中插入 (1, ‘张三’, ‘1234’, ‘2001-1-1’);如数据
    insert into user values (1, '张三', '1234', '2001-1-1');

MySQL数据库的操作_第12张图片

在表结构中新增一列

  • 在user表结构的birthday的后面添加一列
    alter table user add image_path varchar(100) comment '用户头像路径' after birthday;

MySQL数据库的操作_第13张图片

对表结构数据的修改

  • 将user表结构中的name的大小改为 varchar(60)
    alter table user modify name varchar(60);

MySQL数据库的操作_第14张图片
注意这里的改是一种覆盖式的改

删除表结构的一列

  • 将user表结构中的password着一列删除
    alter table user drop password;

MySQL数据库的操作_第15张图片

表结构列名称的修改

  • 将user表结构中的name的列名称改为 xingming
    alter table user change name xingming varchar(60) DEFAULT NULL;
    MySQL数据库的操作_第16张图片

你可能感兴趣的:(数据库,mysql)