mysql数据库创建基础知识,简单数据库创建
本文内容列表:
- 1. MYSQL基础和高级使用分享
- 2.如何用MySQL创建数据库
- 3.如何创建MySQL数据库?
- 4.如何在mysql中创建数据库
MYSQL基础和高级使用分享
MySQL 是由瑞典 MySQL AB 公司开发的关系数据库管理系统。它是Oracle的产品,是最流行的关系数据库管理系统之一。
端口是3306。
当表很多时,使用Linux脚本,必要时需要更改:
就像创建时一样,如果有的话就添加
您可以创建两个文章:
例如:
在添加、删除或更改表中的列时使用。
添加 ADD
或
默认添加到末尾,但可以指定位置。 FIRST:添加第一个字段
字段名称之后:添加
的指定字段 示例:
删除DROP
修改MODIFY主要更改原列的类型或约束。您还可以使用 FIRST 和 AFTER 字段名称来表示更改在哪里?
更改字段名称 CHANGE
可以将表 2 中的数据复制到表 1,但不能复制约束条件。
单行
多行,注意只有一个VALUE:
不要写(第1行,第2行...)这部分,默认是一一对应的
除了上述方法外,您还可以使用 SET 方法。将适当的值附加到每一行。
如果没有过滤,一切都会改变。可以使用 WHERE 进行过滤。
如果没有过滤,所有内容都会被删除。相当于清算。
清除
先删除表,然后创建新表。与 DELETE FROM 相比,TRUNCATE 速度更快,因为 DELETE FROM 会一条条删除记录。
查询执行顺序
FROM -- WHERE -- SELECT -- GROUP BY -- HAS -- SORT BY -- LIMIT
注意
当数据很大,上百万的时候,使用LIMIT...OFFSET...进行分页非常浪费,而且耗时很长。最好与 WHERE 结合使用,例如:
REGEXP 使用正则表达式进行匹配。查询时必须与 WHERE 或 HAVING 一起使用。
当两个表之间存在交集,并且需要使用两个表的数据时,可以使用内连接查询。
LEFT JOIN 关键字返回左表 (table1) 中的所有行,即使右表 (table2) 中没有匹配项。如果右表中没有匹配项,则结果为 NULL。
用法:
RIGHT JOIN 关键字返回右表 (table2) 中的所有行,即使左表 (table1) 中没有匹配项。如果左表中没有匹配项,则结果为 NULL。交换table1和table2 LEFT JOIN的顺序,即REGHT JOIN。
只要左表 (table1) 和右表 (table2) 之一存在匹配项,关键字 FULL OUTER JOIN 就会返回行。这相当于合并 LEFT JOIN 和 RIGHT JOIN 的结果。
但是 MySQL 不支持 FULL OUTER JOIN。
这是 SELECT 嵌套。
AND 使用一个查询的结果作为另一查询的条件。例如:
EXISTS 用于判断查询子句中是否有记录。如果存在一条或多条记录,则返回 True,否则返回 False。为 True 时执行。例如:
索引的本质是一种排序的数据结构。使用索引可以提高查询速度。
常见的索引有:
MySQL使用外键约束来保证表间数据的完整性和准确性。使用外键的条件:
外键的优点:可以连接两个表,保证数据的一致性,可以进行一些级联操作。
向两个现有表添加外键。例如:主表是A,子表是B,外键是help,外键约束名称是a_fk_b
将字段添加到子表作为外键
为子表添加外键约束
如果记录被删除,出现错误消息:[Err] 1451 -Cannot deleteorpdatea Parent row: aforeignkeyconstraintfails (...)
这是因为MySQL中设置了外键关联,导致无法更新或删除数据。您可以通过设置 FOREIGN_KEY_CHECKS 变量来避免这种情况。步骤1:禁用外键限制,我们可以使用:SETFORIGN_KEY_CHECKS=0;第二步:删除数据第三步:启用外键限制,我们可以使用:SETFORIGN_KEY_CHECKS=1;可以使用以下命令查看 FOREIGN_KEY_CHECKS 的当前值: SELECT @@FOREIGN_KEY_CHECKS;
使用 UNION 组合两个查询。如果第一个查询返回M行,第二个查询返回N行,那么组合查询的结果一般是M+N行。
每个查询必须包含相同的列、表达式和聚合函数。
默认情况下,相同的行将被删除。如果需要保留相同的行,请使用 UNION ALL。
只能包含一个 ORDER BY 子句,并且必须位于该子句的末尾。
内置函数很多,参见:MySQL函数
一般我们用START TRANSACTION或BEGIN启动事务,COMMIT在事务中发出命令,SAVEPOINT:相当于设置还原点,ROLLBACK TO :回滚到某个还原点 下一步
一般使用格式如下:
打开事务时,默认加锁
根据类型的不同,可以分为共享锁( COMBINED LOCK)和排他锁(EXCLUSIVE LOCK)或者读锁(READ LOCK)和写锁(WRITE LOCK)。
按照粒度,分为表锁和行锁。表锁由数据库服务器实现,行锁由存储引擎实现。
另外,我们可以显示一个锁
锁定时,如果没有索引,表就会被锁定。如果添加索引,行将被锁定
InnoDB 默认支持行锁定。锁的获取是一步步拆分的,并不是一次性获取所有的锁,所以锁竞争的时候就会出现锁的情况。为了解决上述问题,我们可以设置事务隔离级别。
默认 MySQL 隔离级别(可重复读取)
查看当前会话隔离级别
方法 1
方法 2
设置隔离级别
主从集群示意图如下:
主要包括三个线程:binlog 线程、I/O 线程、SQL 线程。
同步流程:
因为MySQL主从集群只会从主节点同步,而不会从主节点同步,所以需要读写分离
读写分离必须在企业层面实现,只能在主节点上完成写入数据,而读取数据可以在主节点或从节点上完成
索引是一种有序的数据结构,可以帮助 MySQL 高效检索数据
MySQL 索引
推荐使用两个在线工具:
简单的说,B树是在降低树高的红黑树(平衡二叉树)的基础上,通过在一个节点存储多个值来实现的,每个节点存储一个索引和相应的数据。指针,同级节点递增
,B+树在B树的基础上优化,非叶子节点存储子节点初始索引,叶子节点存储索引和数据指针,有双向指针
如下:
不同引擎像普通 MyISAM、InnoDB 一样在主键索引中存储不同的数据
MyISAM B+ 树叶节点存储指向表数据的指针,InnoDB B+ 树叶节点存储非主键数据
其他:
这表示多个列组成一个索引,语法:
由于共享索引的B+树结构是基于列建立的,所以我们的搜索条件也必须符合索引列的顺序(其中column1=x,column2=y,columnN ...),否则将扫描整个表
如果在列上使用(+, -, *, /,!),它们都会被索引。将不执行索引。
OR 导致的索引错误
OR 在某些情况下由索引导致。并非所有 OR 都使索引无效。如果 OR 连接相同的字段,索引将无效。否则,索引将无效。 。
这一点相信大家都明白。如果对前缀执行软搜索,则不会对其建立索引。
这两种用法也会使索引失效。另外,AND会使用索引,但是当IN值的范围很大时,索引会失效,会进行全表扫描。请参阅:在 MySQL 中使用 AND 会导致使用索引吗?
将不使用索引。
转到索引。
因此,创建表时建议不要为空,而是设置默认值“”(NOT NULL DEFAULT“”)

如何用MySQL创建数据库
MySQL 是一种非常常用的数据库工具。接下来我们看看如何使用MySQL创建数据库。 ? 右键单击已连接的 MySQL 数据库,选择【新建数据库】选项,如下图所示:
03
数据库名称
将打开一个新的数据库窗口。 【数据库名称】知道名称即可,例如 db_user 如下所示:
04
字符集及排序规则
字符集可以以 utf 开头,选择 utf8_general_ci 作为排序规则,点击确定,即可创建数据库如下图所示:
如何创建MySQL数据库?
是非常基本的sql语句
创建表,使用create table
插入数据,使用insert into xxx
查询数据,使用条件为的表中的select字段
排序:使用asc升序排列,使用desc降序排列。 desc
如何在mysql中创建数据库
Mysql 创建数据库如下
1。创建数据库。在 MySQL 命令行中,键入命令 CREATE DATABASE ;。将命令替换为您的数据库名称。它不能包含空格。例如,如果您要创建一个包含美国所有州的数据库...
2。显示可用数据库的列表。输入显示数据库命令;获取所有已保存数据库的列表。除了您创建的数据库之外,您还将看到一个 mysql 数据库和一个测试数据库。您现在可以忽略它们。
3。选择您的数据库。创建数据库后,必须先选择它,然后才能对其进行编辑。输入命令 USE us_states
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网