Mysql数据库SQL语句与管理

Mysql数据库基本语句与管理

  • 1、常用的数据类型
  • 2、数据库管理
  • 3、SQL语句
    • 3.1语言分类
    • 3.2sql语句
  • 4、DQL查询数据记录
    • 4.1查询
    • 4.2修改
    • 4.3删除
    • 4.4alter修改
  • 5、总结

1、常用的数据类型

数据类型
(1)int:整型 用于定义整数类型的数据
(2)float:单精度浮点4字节32位 准确表示到小数点后六位
(3)double:双精度浮点8字节64位
(4)char:固定长度的字符类型 用于定义字符类型数据。 20字节 4 16 空格
(5)varchar:可变长度的字符类型 20 4 4
(6)text:文本
(7)image:图片
(8)decimal(5,2):5个有效长度数字,小数点后面有2位 指定长度数组 55555.00

ps:Char如果存入数据的实际长度比指定长度要小,会补空格至指定长度,如果存入的数据的实际长度大于指定长度,低版本会被截取,高版本会报错

2、数据库管理

存储类型

MySQL是一个支持多种存储引擎的关系型数据库管理系统,不同的存储引擎有各自的特点和适用场景。以下是MySQL支持的一些常见存储引擎:

  • InnoDB存储引擎:InnoDB是MySQL默认的存储引擎,支持事务处理、行级锁、外键约束和多版本并发控制等特性,适用于高并发、高可靠性的应用场景。
  • MyISAM存储引擎:MyISAM不支持事务处理和行级锁,但支持全文索引、压缩、空间函数和表锁等特性,适用于读多写少的应用场景。
  • Memory存储引擎:Memory存储引擎将数据存储在内存中,支持快速的读写操作,但不支持持久化存储和大容量数据,适用于缓存、会话数据和临时表等应用场景。
  • CSV存储引擎:CSV存储引擎将数据存储在CSV格式的文件中,适用于导入和导出数据、数据交换和数据备份等应用场景。
  • Archive存储引擎:Archive存储引擎将数据以压缩格式存储,适用于大量历史数据的存储和查询等应用场景。
  • Blackhole存储引擎:Blackhole存储引擎将所有写入操作都忽略,适用于数据复制和数据分发等应用场景。

ps:以上存储引擎并不是全部,MySQL还支持其他存储引擎,如NDB存储引擎和Federated存储引擎等。根据应用场景的不同,选择合适的存储引擎可以提高MySQL的性能和可靠性。

3、SQL语句

3.1语言分类

在关系型数据库中,DDL、DML、DQL和DCL是四种不同的SQL语言类型,用于不同的操作和管理数据库对象的权限。以下是它们的具体介绍:

  • DDL(Data Definition Language,数据定义语言):DDL用于创建、修改和删除数据库对象,如表、索引、视图、存储过程等。常见的DDL操作包括CREATE、ALTER和DROP等。DDL语句执行后会立即生效,对数据库结构进行修改。
  • DML(Data Manipulation Language,数据操作语言):DML用于插入、更新和删除数据库中的数据。常见的DML操作包括INSERT、UPDATE和DELETE等。DML语句执行后会改变数据库表中的数据。
  • DQL(Data Query Language,数据查询语言):DQL用于查询数据库中的数据。常见的DQL操作是SELECT。DQL语句不会改变数据库中的数据,而是返回查询结果。
  • DCL(Data Control Language,数据控制语言):DCL用于控制数据库的访问权限和安全性。常见的DCL操作包括GRANT和REVOKE等。DCL语句不会改变数据库结构或数据,而是控制对它们的访问权限。

ps:总的来说,DDL用于定义数据库结构,DML用于操作数据库数据,DQL用于查询数据库数据,DCL用于控制数据库访问权限。这四种SQL语言类型是关系型数据库中操作和管理数据的基础。

3.2sql语句

select语句:用于从一个或多个表中查询数据。

select * from 表名 //查询表中信息

Mysql数据库SQL语句与管理_第1张图片

insert语句:用于向表中插入新的行。

insert into user (id ,name,sorce) values (1,'wangwu',85);
//向user表中插入内容

Mysql数据库SQL语句与管理_第2张图片

update语句:用于更新标中的数据

update user  set id=2 where name='lisi';
将姓名为lisi的id改为2

Mysql数据库SQL语句与管理_第3张图片

delete语句:用于删除表中的行。(只删除记录)

deletre from user;//删除user表中的数据

Mysql数据库SQL语句与管理_第4张图片

create语句:用于创建表、视图、存储过程等数据库对象

Mysql数据库SQL语句与管理_第5张图片

alter语句:用于修改表的结构

alter table zhen add passwd char(10);
将zhen表中插入passwd,指定为char字符型

在这里插入图片描述
Mysql数据库SQL语句与管理_第6张图片

drop语句:用于删除表、视图、存储过程等数据库对象。(全部删除)

drop table zhen;//删除表table

Mysql数据库SQL语句与管理_第7张图片

4、DQL查询数据记录

4.1查询

格式:
SELECT 字段名1,字段名2[,…] FROM 表名[WHERE 条件表达式];

1、普通查看表的内容

select * from a;

Mysql数据库SQL语句与管理_第8张图片
2、条件筛选查询

select name,sorce from a where id = 1;
查询表中id=1的name和sorce

Mysql数据库SQL语句与管理_第9张图片
3、竖向查看

select * from a\G;

Mysql数据库SQL语句与管理_第10张图片
4、查看前两行(limit)

select * from a limit 2;

Mysql数据库SQL语句与管理_第11张图片
5、查看从第二行开始两行

selcet * from a limit 2,2;

Mysql数据库SQL语句与管理_第12张图片

4.2修改

格式:
UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] [WHERE 条件表达式];

1、修改指定内容

update a set passwd = 123123 where id=2;

Mysql数据库SQL语句与管理_第13张图片

4.3删除

格式:
DELETE FROM 表名 [WHERE 条件表达式];

1、删除指定行

delete from a where id=3;

Mysql数据库SQL语句与管理_第14张图片
2、删除表

delete from a;

Mysql数据库SQL语句与管理_第15张图片

4.4alter修改

1、修改表名

alter table a rename d;

Mysql数据库SQL语句与管理_第16张图片
2、增加字段

alter table b add address varchar(50) not null default 'null';

Mysql数据库SQL语句与管理_第17张图片
3、修改字段(列)名

alter table b change address school varchar(10);

Mysql数据库SQL语句与管理_第18张图片
4、添加唯一键

alter table b change name xm char(5) unique key;

Mysql数据库SQL语句与管理_第19张图片
Mysql数据库SQL语句与管理_第20张图片
5、删除字段

alter table b drop school;

Mysql数据库SQL语句与管理_第21张图片
6、指定主键的第二种方式

#if not exists:表示检测要创建的表是否已存在,如果不存在就继续创建

#int(4) zerofill:表示若数值不满4位数,则前面用"0"填充,例0001

#auto_increment:表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;

自增长字段数据不可以重复;自增长字段必须是主键;如添加的记录数据没有指定此字段的值且 添加失败也会自动递增一次

#unique key:表示此字段唯一键约束,此字段数据不可以重复:一张表中只能有一个主键,但是一张表中可以有多个唯一键

#not null:表示此字段不允许为NULL)

Mysql数据库SQL语句与管理_第22张图片
7、复制表格式(备份)

create table a like b;

Mysql数据库SQL语句与管理_第23张图片
8、复制表内容(备份)

inster into a select * from b;

Mysql数据库SQL语句与管理_第24张图片
9、创建复制表(主键)

create table zhangsan (select * from a);

Mysql数据库SQL语句与管理_第25张图片
10、delete清空表(删除表内的所有数据)
DELETE清空表后,返回的结果内有删除的记录条目;DELETE工作时是一行一行的删除记录数据的;如果表中有自增长字段,使用DELETE FROM 删除所有记录后,再次新添加的记录会从原来最大的记录 ID 后面继续自增写入记录。

delete from a;

Mysql数据库SQL语句与管理_第26张图片
11、trunkcate清空表
TRUNCATE 清空表后,没有返回被删除的条目;TRUNCATE 工作时是将表结构按原样重新建立,因此在速度上 TRUNCATE 会比 DELETE 清空表快;使用 TRUNCATE TABLE 清空表内数据后,ID 会从 1 开始重新记录

trunkcate table b;

Mysql数据库SQL语句与管理_第27张图片

删除速度:drop> truncate > delete(安全性最高)

12、创建临时表
临时表创建成功之后,使用SHOWTABLES命令是看不到创建的临时表的,临时表会在连接退出后被销毁。
如果在退出连接之前,也可以可执行增删改查等操作,比如使用DROP TABLE语句手动直接删除临时表。

PS:无法创建外键

创建临时表
在这里插入图片描述
show查看不了临时表
Mysql数据库SQL语句与管理_第28张图片
可以用desc查看
Mysql数据库SQL语句与管理_第29张图片
使用select删除不了,但是可以drop可以删除
Mysql数据库SQL语句与管理_第30张图片

5、总结

SQL语句是控制管理数据库的语句,可以对数据库进行增删改查,完成对数据库的管理。数据库SQL是一种用于管理关系型数据库的编程语言。它是一种标准化的语言,被广泛用于各种关系型数据库,包括 Microsoft SQL Server、MySQL、Oracle 等。SQL 语言具有简洁、灵活、高效的特点,可以实现对数据库的各种操作,包括查询、插入、更新、删除、排序、分组等。SQL 语言的基本语法包括 SELECT、FROM、WHERE、ORDER BY、GROUP BY 等关键字。

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