前面的话
本篇文章介绍MySQL(数据库)的建表,查表,改表,删表的基本操作,即CRUD ,它表示增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写。
??博客主页:的博客主页
??欢迎关注??点赞??收藏留言??
??本文由原创,CSDN首发!
??首发时间:??2022年3月16日??
坚持和努力一定能换来诗与远方!
??参考书籍:??《MySQL必知必会》,??《高性能MySQL》
??参考在线编程网站:??牛客网??力扣
博主的码云gitee,平常博主写的程序代码都在里面。
博主的github,平常博主写的程序代码都在里面。
??作者水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢!
??导航小助手??
题外补充:
SQL的注释: 在SQL中可以使用“–空格+描述”来表示注释说明。
??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: 3 Duplicates: 0 Warnings: 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查询表中所有元素(查询整表)
该操作要慎重使用,