MySQL数据库初识(二)
8、 向数据表中插入数据记录(INSERT):
向数据表中插入数据记录有两种方法:
基本语法1:INSERT INTO 数据表 (字段名1,字段名2,字段名3……字段名n) VALUES (数据值1,数据值2,数据值3……数据值n);
注意:数据表后面括号中的字段名可以不按原有的顺序写,但不论怎么写,values后面括号中的数值顺序要与字段名称一一对应。
示例:
INSERT INTO `user` (`id`,`username`) VALUES (NULL,'韩寒');
在此例中,id因为是自增字段,我们用NULL填充,MySQL会自动将其写入对应的数字。当然,我们也不是一定要写这个值,反正它会自己填充,所以这个地方还可以写成这样:
INSERT INTO `user` (`username`) VALUES ('韩寒');
在实际的使用中,往往表里的所有字段都需要插入数据,所以就有了第二种写法:
基本语法2:INSERT INTO 数据表 VALUES (数据值1,数据值2……数值n);
还是拿刚才的例子来写一个语句:
INSERT INTO `user` VALUES (NULL,'韩寒');
对比一下,会发现原来VALUES前面的那个括号里的字段名被省略了。不过这样一来,values后面接的数据值就必段按数据表中的数据顺序一一填充,切记不要混乱顺序。
我们也来个结果:
mysql> INSERT INTO `user` (`id`,`username`) VALUES (NULL,'韩寒');
Query OK, 1 row affected (0.00 sec)
9、查询数据记录(SELECT):
数据查询是数据操作中最常见的一种
基本语法:SELECT "字段名1,字段名2,字段名3" FROM 数据表名 [条件表达式];
在实际的使用中,如果要返回符合条件表达式的所有字段数据,可以用通配符 * 代表查询所有字段:
SELECT * FROM `user`;
上例中,我用 通配符 *代替了所有要返回的字段,数据表名后面没有接表达式,这样将返回user表里面所有的数据 (在操作本步骤前,重复8多添加几条的数据);
结果如下:
mysql> SELECT * FROM `user`;
+----+----------+
| id | username |
+----+----------+
| 1 | 韩寒 |
| 2 | 韩流 |
| 3 | 乔风 |
+----+----------+
3 rows in set (0.00 sec)
如果我们要查询返回username为‘韩寒’的那条数据,可以指定查询的条件:
SELECT * FROM `user` WHERE `username` = '韩寒';
结果如下:
1 mysql> SELECT * FROM `user` WHERE `username`='韩寒';
2 +----+----------+
3 | id | username |
4 +----+----------+
5 | 1 | 韩寒 |
6 +----+----------+
7 1 row in set (0.00 sec)
10、更改数据记录(UPDATE):
基本语法:UPDATE `表名` SET `字段`='新值' WHERE 条件表达式;
举例:将前面创建的user表里面的”乔风“修改为”韩风“:
UPDATE `user` SET `username`='韩风' WHERE `username`='乔风';
运行代码后如下图:
mysql> UPDATE `user` SET `username`='韩风' WHERE `username`='乔风';
Query OK, 1 row affected (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 0
再次查询数据表,内容已经变更了:
mysql> SELECT * FROM `user`;
+----+----------+
| id | username |
+----+----------+
| 1 | 韩寒 |
| 2 | 韩流 |
| 3 | 韩风 |
+----+----------+
3 rows in set (0.00 sec)
11、删除数据记录(DELETE):
基本语法:DELETE FROM 数据表名 WHERE 条件表达式;
例如我们要删除id大于1的数据:
DELETE FROM `user` WHERE `id` > 1;
代码执行结果:
mysql> DELETE FROM `user` WHERE `id` > 1;
Query OK, 2 rows affected (0.00 sec)
查询下数据表,数据表里只剩下id=1的那条数据了:
mysql> SELECT * FROM `user`;
+----+----------+
| id | username |
+----+----------+
| 1 | 韩寒 |
+----+----------+
1 row in set (0.00 sec)
12、对数据的修改(ALTER):
ALTER这个语句,可以对数据库、数据表、字段、字段类型进行修改,主要语法如下:
(1)修改表名:
语法:ALTER TABLE 原表名 rename 新表名;
如果要将我们之前创建的”user“表改名为”puser“,语句如下:
mysql> ALTER TABLE `user` rename `puser`;
结果如下:
mysql> ALTER TABLE `user` rename `puser`;
Query OK, 0 rows affected (0.00 sec) mysql> show tables;
+-------------------+
| Tables_in_php2016 |
+-------------------+
| puser |
+-------------------+
1 row in set (0.00 sec)
(2)修改字段名:
语法:ALTER TABLE `数据表名` change `旧字段名` `新字段名` 字段类型;
举例:
ALTER TABLE `puser` change `username` `name` char(30);
上例的意思是,将user这个表里面的字段”username“ 修改(change)为”name",name的字段类型为字符型char,长度为30个字符。
mysql> ALTER TABLE `puser` change `username` `name` char(30);
Query OK, 1 row affected (0.02 sec)
Records: 1 Duplicates: 0 Warnings: 0 mysql> desc puser;
+-------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | char(30) | YES | MUL | NULL | |
+-------+----------+------+-----+---------+----------------+
2 rows in set (0.00 sec)
(3)修改字段类型:
语法:ALTER TABLE `数据表名` modify `要修改的字段名` 新的字段类型;
例子:
ALTER TABLE `puser` modify `name` varchar(50);
结果如下:
mysql> ALTER TABLE `puser` modify `name` varchar(50);
Query OK, 1 row affected (0.01 sec)
Records: 1 Duplicates: 0 Warnings: 0 mysql> desc puser;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(50) | YES | MUL | NULL | |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)
(4)删除一个指定的字段:
语法:ALTER TABLE `数据表名` DROP `要删除的字段名`;
示例:
ALTER TABLE `puser` DROP `id`;
(5)添加一个新的字段:
语法:ALTER TABLE `数据表名· ADD `要添加的字段名` <建表语句> [FIRST|AFTER 列名];
如:
ALTER TABLE `puser` ADD `Email` VARCHAR(30) NOT NULL AFTER `name`;
结果如下:
mysql> ALTER TABLE `puser` ADD `Email` VARCHAR(30) NOT NULL AFTER `name`;
Query OK, 1 row affected (0.02 sec)
Records: 1 Duplicates: 0 Warnings: 0 mysql> desc puser;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(50) | YES | MUL | NULL | |
| Email | varchar(30) | NO | | NULL | |
+-------+-------------+------+-----+---------+----------------+
3 rows in set (0.02 sec)
当然,除了上述MySQL的操作语法外,还有很多,各位读者不妨多找些资料看看。
MySQL数据库初识(二)的更多相关文章
- {MySQL数据库初识}一 数据库概述 二 MySQL介绍 三 MySQL的下载安装、简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 初识sql语句
MySQL数据库初识 MySQL数据库 本节目录 一 数据库概述 二 MySQL介绍 三 MySQL的下载安装.简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 ...
- mysql 数据库(二)数据库的基本操作
mysql 数据库(二)数据库的基本操作 用户管理,添加权限,创建,显示,使用数据库 1 显示数据库:show databases; 默认数据库: mysql - 用户权限相关数据 test - 用于 ...
- 3 MySQL数据库--初识sql语句
1.初识sql语句 服务端软件 mysqld SQL语句:后面的分号mysql -uroot -p123 操作文件夹(库) 增 create database db1 charset utf8; 查 ...
- MySQL数据库初识(一)
MySQL是一种免费的小型关系型数据库,与Linux.Apache/Nginx.PHP一起组成了WEB开发的黄金搭档. MySQL是C/S(客户端/服务端)体系结构的软件,而在开发中,PHP承担起了客 ...
- MySQL 数据库初识
一.数据库概述 (详情参考:https://www.cnblogs.com/clschao/articles/9907529.html) 1.概念:存储数据,共享数据 数据库,简而言之可视为电子化的文 ...
- MySQL数据库(二)--库相关操作、表相关操作(1)、存储引擎、数据类型
一.库相关操作 1.创建数据库 (1)语法 create database 数据库 charset utf8; (2)数据库命名规范 可以由字母.数字.下划线.@.#.$ 区分大小写 唯一性 不能使用 ...
- MySQL数据库笔记二:数据类型及数据库操作
三.MySQL数据库数据类型 MySQL数据库中支持多种数据类型:数值型.字符型.日期型 常用的数据类型: 1.整型 int:整形,存储整数 int(M):M表示预期值.与存储大小和数值的范围无关. ...
- 01 Mysql数据库初识
一.数据库概述 1.什么是数据库? 什么是数据库呢? 先来看看百度怎么说的 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作. 所谓“ ...
- MySQL数据库(二)——库相关操作、表相关操作(一)、存储引擎、数据类型
库相关操作.表相关操作(一).存储引擎.数据类型 一.库相关操作 1.创建数据库 (1)语法 create database 数据库 charset utf8; (2)数据库命名规范 可以由字母.数字 ...
- python——django使用mysql数据库(二)
上一篇中,我们已经讲述了如何初始化一个django数据库,这一章就来讲讲在实际的项目中如何使用我们初始化的数据库呢? 如还未进行初始化数据库操作,请参考python——django使用mysql数据库 ...
随机推荐
- stl的优先级队列
#include <iostream> #include <vector> #include <queue> using namespace std; class ...
- 仿照微信的效果,实现了一个支持多选、选原图和视频的图片选择器,适配了iOS6-9系统,3行代码即可集成.
提示:如果你发现了Bug,请尝试更新到最新版.目前最新版是1.6.4,此前的版本或多或少存在一些bug的~如果你已经是最新版了,请留一条评论,我看到了会尽快处理和修复哈~ 关于升级iOS10和Xcdo ...
- ExtendHelper
public static class ExtendHelper { /// <summary> /// 检查当前字符串是否符合某种格式 /// </summary> /// ...
- 本学期3个sprint的团队贡献分
第一次冲刺贡献分 组员 贡献分 103马嘉诚 28 143李新佳 22 145马文其 19 120韩智豪 16 147黄鸿浩 15 第二次冲刺贡献分 组员 贡献分 103马嘉诚 23 143李新佳 2 ...
- Scrum4.0
1.准备看板. 形式参考图4. 2.任务认领,并把认领人标注在看板上的任务标签上. 先由个人主动领任务,PM根据具体情况进行任务的平衡. 然后每个人都着手实现自己的任务. 3.为了团队合作愉快进展顺利 ...
- C#字符串的恒定性
string str1="aa"; string str2="aa"; str1,str2,变量所指向的堆空间的地址是一样的.栈空间的内容是不一样的. //ne ...
- Tesseract-OCR引擎 入门
OCR(Optical Character Recognition):光学字符识别,是指对图片文件中的文字进行分析识别,获取的过程. Tesseract:开源的OCR识别引擎,初期Tesseract引 ...
- 【Bootstrap基础学习】00 序
其实这样的东西很多了,但是我就是要写. 我写这种鬼东西只是为了监督自己,如果能顺便帮一下别人就更好了. 这个系列的基础学习,不会去看实体书,主要是去看网上的资料和官网. Bootstrap就是对jQu ...
- Microsoft Excel软件打开文件出现文件的格式与文件扩展名指定格式不一致?
今天winform代码做一个datagridview数据导出功能,导出的excel文件的后缀是*.xls(Micorsoft Excel 2000), 而本机新建的excel文件的后缀是 *.xlsx ...
- 使用Dhcpstarv解决DHCP服务器冲突问题
场景: 内网环境需要开启多个DHCP服务器,分别给不同的设备进行PXE安装. 存在的问题: 多个DHCP的情况下,设备在启动时随机从一个DHCP服务器获取IP(哪个DHCP服务器先响应就从哪个获取)并 ...