MySQL——数据库、表的操作
创始人
2024-02-02 15:09:56

文章目录

  • 数据库的操作
    • 创建数据库
    • 创建数据库例子
    • 字符集和校验规则
    • 查看数据库支持的字符集
    • 查看默认的字符校验规则
    • 校验规则对数据库的影响
    • 查看数据库
      • 显示详细的创建数据库语句
    • 修改数据库
    • 删除数据库
    • 查看连接情况
  • 表的操作
    • 创建表
    • 显示创建表的详细过程
    • 不同的数据库引擎
    • 查看表结构
    • 修改表
    • 删除表

数据库的操作

创建数据库

语法:
create database [if not exists] db_name [create_specification] [create_specifation];
create_specifation:
[default] character set charset_name
[default] collate collation_name

说明:

  • 大小写并不是特别区分,标准建议关键字采用大写,但是小写的辨识度更高
  • [ ]方括号是可选项
  • character set:指定数据库采用的字符集
  • collate:指定数据库字符集采用的校验规则

创建数据库例子

如果修改了/etc/my.cnf下的文件,我们是不用带上默认选项的,他会自动默认使用字符集utf8,校验规则utf8_general_ci

字符集和校验规则

查看字符集和校验规则:
show variables like 'character_set_database';
show variables like 'collation_database';
结果演示:
在这里插入图片描述

查看数据库支持的字符集

show charset;
结果展示:
在这里插入图片描述
字符集主要控制用什么语言,比如utf8可以适配中文,不会出现报错。

查看默认的字符校验规则

show collation
结果展示:
在这里插入图片描述

校验规则对数据库的影响

例子:建立两个数据库,在里面分别见两张表,然后查询

utf8_general_ci不区分大小写:

mysql> create database utf8_test collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
mysql> use utf8_test;
Database changed
mysql> create table person (name varchar(20));
Query OK, 0 rows affected (0.02 sec)mysql> desc person;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
1 row in set (0.01 sec)mysql> insert into person values ('a');
Query OK, 1 row affected (0.00 sec)mysql> insert into person values ('A');
Query OK, 1 row affected (0.01 sec)mysql> insert into person values ('b');
Query OK, 1 row affected (0.01 sec)mysql> insert into person values ('B');
Query OK, 1 row affected (0.01 sec)mysql> select *  from person where name='a';
+------+
| name |
+------+
| a    |
| A    |
+------+
2 rows in set (0.00 sec)

utf8_bin区分大小写:

mysql> use utf8_bin_test;
Database changed
mysql> show tables;
Empty set (0.00 sec)mysql> create table person(name varchar(20));
Query OK, 0 rows affected (0.03 sec)mysql> insert into person values ('a');
Query OK, 1 row affected (0.01 sec)mysql> insert into person values ('A');
Query OK, 1 row affected (0.01 sec)mysql> insert into person values ('b');
Query OK, 1 row affected (0.01 sec)mysql> insert into person values ('B');
Query OK, 1 row affected (0.01 sec)mysql> select * from person where name ='a';
+------+
| name |
+------+
| a    |
+------+
1 row in set (0.00 sec)

查看数据库

show databases;注意带s,表示复数。
在这里插入图片描述

显示详细的创建数据库语句

show create database name
在这里插入图片描述
说明:

  • 数据库名字采用反引号,是为了防止使用的数据库名字刚好是关键字。
  • /* !40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin * /这不是注释!!这表示当前数据库版本大于4.01,就执行这句话。

修改数据库

语法:
alter database db_name [alter_specification] [alter_specification];
alter_specification:
[default] character set charset_name
[default] collate collate_name

说明:对于数据库的修改主要是指修改数据库的字符集、校验规则

在这里插入图片描述
注意:我们一般强烈不建议修改数据库名字以及属性!

删除数据库

在这里插入图片描述
注意:不要随意删除数据库!
执行删除之后的结果:数据库内部看不到对应的数据库。
对应的数据库文件夹被删除,级联删除,里面的数据表全部被删。

查看连接情况

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

表的操作

创建表

语法:
create table [if not exists] table_name( field1 datatype, field2 datatype, field3 datatype ) charset set 字符集 collate 校验规则 engine 存储引擎;

说明:

  • 先是列,再是类型;先是名字,再是类型。语义优先!
  • 其他见名知意。

实例:
在这里插入图片描述

显示创建表的详细过程

通过show create table table_name \G;
\G去除一些格式,方便查看
在这里插入图片描述

不同的数据库引擎

默认采用InnoDB,stu表在数据库中对应2个文件
在这里插入图片描述
而我们可以看一下采用MyISAM,它对应的表下面有3个文件
在这里插入图片描述

  • users.frm表结构
  • users.MYD表数据
  • users.MYI表索引

查看表结构

desc table_name;
在这里插入图片描述

修改表

我们可以对于某表的结构、字段名字、字段大小、字段类型等等作后续修改,但是强烈不建议修改,在创建的时候最好声明定义好表的结构。
语法:
alter table table_name add(column datatype );
alter table table_name modify(column datatype );
alter table table_name drop(column);

现在有这样一张表:
在这里插入图片描述

我们在其基础上进行修改:

1️⃣在表中增加一个字段,用于保存图片路径。
在这里插入图片描述
如果你的表中已经有了数据了,那么新增加的字段默认就是NULL。

还可以控制新增列的位置:
在这里插入图片描述
注意:只能有after,没有before的说法!我们特别不建议,将一个字段往前插入,最好还是在末位插入新字段。

2️⃣删除一个字段,直接删除名字即可
在这里插入图片描述
注意:删除的时候,如果某列有数据的,那么数据也会没有。

3️⃣调整一个字段
在这里插入图片描述
4️⃣修改名字

  • rename修改表名字

在这里插入图片描述

  • change修改列名字

在这里插入图片描述

删除表

语法:
drop table table_name;
在这里插入图片描述

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...