一.数据表本身的基本操作
1.1新建表
1.2查看表
1.3查看表结构
1.4删除表
二.数据表的增删查改(CRUD)
2.1插入
2.2查询
2.2.1查询表中所有元素(查询整表)
2.2.2指定列查询
2.2.3指定字段为表达式查询
2.2.4指定别名字段查询
2.2.5去重查询
2.2.6排序查询
2.2.7条件查询
2.2.8分页查询
2.3修改
2.4删除
1.数据表本身的基本操作1.1新建表在选定数据库后就可以进行数据表的创建了 , 语法:
create table 表名(定义列1, 定义列2, .......);--具体如下create table 表名(变量名1 数据类型1, 变量名2 数据类型2, .......);
例如创建一个学生表:
MySQL> create table student(id int, name varchar(50),score double(3,1));Query OK, 0 rows affected (0.03 sec)
1.2查看表查看某数据库中有哪些数据表 , 语法:
show tables;
栗子:
mysql> show tables;+----------------+| Tables_in_test |+----------------+| student|| test_1|+----------------+2 rows in set (0.00 sec)
1.3查看表结构查看一个数据表中有哪一些列(字段) , 语法:
desc 表名;
查看学生表结构:
mysql> desc student;+-------+-------------+------+-----+---------+-------+| Field | Type| Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| id| int(11)| YES|| NULL||| name| varchar(50) | YES|| NULL||| score | double(3,1) | YES|| NULL||+-------+-------------+------+-----+---------+-------+3 rows in set (0.00 sec)
文章插图
1.4删除表(慎重操作) , 对数据表整体进行删除 , 语法:
drop table 表名;
栗子:mysql> show tables;+----------------+| Tables_in_test |+----------------+| student|| test_1|+----------------+2 rows in set (0.00 sec)mysql> drop table test_1;Query OK, 0 rows affected (0.01 sec)mysql> show tables;+----------------+| Tables_in_test |+----------------+| student|+----------------+1 row in set (0.00 sec)
2.数据表的增删查改(CRUD)2.1插入往表里插入一行数据 , 语法:insert into 表名 values (对应列的实参列表);
其中values后面()里面的值列表要与创建表时的列一一对应 。如在学生表中插入一行:
mysql> insert into student values (1, "喜羊羊", 98);Query OK, 1 row affected (0.01 sec)
当然也可以指定列插入 , 语法:insert into 表名 (需要插入的列) values (对应列的实参列表);
没有指定的列为默认值 。栗子:
mysql> insert into student (id, name) values (2, "懒羊羊");Query OK, 1 row affected (0.00 sec)
当然也可以多行插入 , 格式:insert into 表名 values (对应列的实参列表1), (对应列的实参列表2), ...;
栗子:mysql> insert into student values (3,"美羊羊", 92), (4, "沸羊羊", 70), (5, "暖羊羊", 88);Query OK, 3 rows affected (0.00 sec)Records: 3Duplicates: 0Warnings: 0
有关日期数据的插入 , 可以使用datetime数据类型 , 其中now()能够获取当前日期 。该类型日期的格式为:yyyy-mm-dd hh:mm:ss
栗子:
mysql> create table time(id int, time datetime);Query OK, 0 rows affected (0.02 sec)mysql> desc time;+-------+----------+------+-----+---------+-------+| Field | Type| Null | Key | Default | Extra |+-------+----------+------+-----+---------+-------+| id| int(11)| YES|| NULL||| time| datetime | YES|| NULL||+-------+----------+------+-----+---------+-------+2 rows in set (0.00 sec)mysql> insert into time values (1, '2022-03-12');Query OK, 1 row affected (0.00 sec)mysql> insert into time values (2, '2022-03-12 20:22:22');Query OK, 1 row affected (0.00 sec)mysql> insert into time values (3, now());Query OK, 1 row affected (0.01 sec)
2.2查询上面我们已经介绍数据库中表的查询和表中元素的插入等操作 , 上面所演示的代码中只提示插入成功 , 但是我们并不能看见它是否真的插入进去了 , 所以需要对表进行查询 , 数据表的查询是数据表增删查改中最复杂的一项操作 。2.2.1查询表中所有元素(查询整表)该操作要慎重使用 , 因为MySQL数据都储存在服务器的硬盘上 , 查询操作是将服务器中的数据返回给客户端 , 由于在企业级的数据库中 , 数据量非常的大 , 是TB级别的 , 一旦使用整表查询 , 会把服务器吃满 , 此时其他客户端访问服务器时 , 服务器无法及时作出响应 。
推荐阅读
- 从RDS算不算国产数据库谈起
- SpringBoot WebFlux整合R2DBC实现数据库反应式编程
- mirna(mirna数据库)
- js调用数据库数据 js数据库信息交互
- mysql数据库建表的完整步骤 sqlserver导入excel表格命令
- 更好的MySQL客户端推荐 mysql客户端哪个好用
- 建立数据库的步骤 mysql数据库系统需求分析
- 阿里巴巴|阿里的分布式数据库OceanBase:帮公司省了几百个亿
- 数据库|领航国产分布式数据库!OceanBase3.2版发布:数据分析性能提升6倍
- 微软|微软Azure数据库出现漏洞:波及多家国际品牌 自家服务也难逃