mysql数据库——SQL语句的分类

本文介绍了SQL语言的四大类别:DDL(数据定义语言)、DML(数据操纵语言)、DQL(数据查询语言)和DCL(数据控制语言)。在DDL中,详细讲解了创建数据库、表以及删除操作;在DML部分,涵盖了插入、更新和删除数据的操作;DQL则关注如何查询数据;最后,DCL部分阐述了权限管理和表结构修改的相关命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、SQL 语言简介

SQL 语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能。

SQL语言分类

  • DDL:数据定义语言,用于创建数据库对象,如库、表、索引等。
  • DML:数据操纵语言,用于对表中的数据进行管理,用来插入、删除和修改数据库中的数据。
  • DQL:数据查询语言,用于从数据表中查找符合条件的数据记录。
  • DCL:数据控制语言,用于设置或者更改数据库用户或角色权限(数据控制语句,用于控制不同数据段直接的许可和访问级别的语句,这些语句定义了数据库、表、字段、用户的访问权限和安全级别,如 COMMIT、ROLLBACK、GRANT、REVOKE …)

二、DDL 语句

数据定义语言,用于创建数据库对象,如库、表、索引等
常用命令:

create	#创建
drop	#删除
alter	#修改
123

1. 创建新的数据库

1.CREATE DATABASE <数据库名>

在这里插入图片描述

2. 创建新的表

  • create table 表名 (字段1 数据类型,字段2 数据类型,[…],parmary key (主键名));
  • 主键一般选择能代表唯一性的字段,不允许取空值(NULL),一个表只能有一个主键
CREATE TABLE web_demo (id int NOT NULL,name char(10) NOT NULL,score decimal(5,2),passwd char(48) DEFAULT '',PRIMARY KEY (id));
# NOT NULL    	不允许为空值
# name char(10)	名称最长 10 位
# decimal(5,2)	整数部分最长五位,小数两位 
# DEFAULT ''  	密码默认值为空
# PRIMARY KEY 	主键一般选择没有重复并且不为空值的字段
123456

在这里插入图片描述

3. 删除表

drop table <数据库名>.<表名>;
#不 use 进入库中需加上数据库名
12

在这里插入图片描述

4. 删除数据库

drop database <数据库名>;
1

在这里插入图片描述

三、DML 语句

数据操纵语言,用于对表中的数据进行管理,插入、删除和修改数据库中的数据
常用命令:

insert	#插入
update	#修改,更新
delete	#删除
123

1. 在表中插入数据

格式:

INSERT INTO 表名(字段1,字段2,...) VALUES(字段1的值,字段2的值,...);
INSERT INTO 表名 VALUES(字段1的值,字段2的值,...);
12

示例:

insert into web_demo (id,name,score,passwd) values(1,'zhangsan',70,PASSWORD('123456'));
insert into web_demo values(2,'lisi',85.5,PASSWORD('123456'));

————————————————————————————————————
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| game               |
| mysql              |
| performance_schema |
| sys                |
| test1              |
+--------------------+
6 rows in set (0.00 sec)

mysql> use game;
Database changed
mysql> show tables;
+----------------+
| Tables_in_game |
+----------------+
| web_demo       |
+----------------+
1 row in set (0.00 sec)

mysql> select * from web_demo;
Empty set (0.00 sec)

mysql> insert into web_demo (id,name,score,passwd) values(1,'zhangsan',70,PASSWORD('123456'));
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> select * from web_demo;
+----+----------+-------+-------------------------------------------+
| id | name     | score | passwd                                    |
+----+----------+-------+-------------------------------------------+
|  1 | zhangsan | 70.00 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+----+----------+-------+-------------------------------------------+
1 row in set (0.00 sec)

mysql> desc web_demo;
+--------+--------------+------+-----+---------+-------+
| Field  | Type         | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| id     | int(11)      | NO   | PRI | NULL    |       |
| name   | char(10)     | NO   |     | NULL    |       |
| score  | decimal(5,2) | YES  |     | NULL    |       |
| passwd | char(48)     | YES  |     |         |       |
+--------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

mysql> insert into web_demo values(2,'lisi',85.5,PASSWORD('123456'));
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> select * from web_demo;
+----+----------+-------+-------------------------------------------+
| id | name     | score | passwd                                    |
+----+----------+-------+-------------------------------------------+
|  1 | zhangsan | 70.00 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
|  2 | lisi     | 85.50 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+----+----------+-------+-------------------------------------------+
2 rows in set (0.00 sec)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263

PS:

select * from <tables>;		#查看表中的所有信息
desc <tables>;				#查看表结构属性,describe 的缩写
密码字串以加密形式显示,若不使用 PASSWORD(),查询时以明文显示

desc 显示字段含义:
————————————————
Field:字段名称
type:数据类型
Null:是否允许为空
Key:主键
Default:默认值
Extra:扩展属性(例如:标志符列(增量/步长)1 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老赵学coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值