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数据库 ...
随机推荐
- asp.net JavaScriptSerializer实现序列化和反序列化
通过JavaScriptSerializer来实现.它的名字空间为:System.Web.Script.Serialization 如果要使用它,还须添加 System.Web.Extensions库 ...
- 2015 Multi-University Training Contest 1 - 1001 OO’s Sequence
OO’s Sequence Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=5288 Mean: 给定一个数列,让你求所有区间上满足 ...
- 后缀数组 --- HDU 3518 Boring counting
Boring counting Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=3518 Mean: 给你一个字符串,求:至少出 ...
- 重构第16天 封装条件(Encapsulate Conditional)
理解:本文中的“封装条件”是指条件关系比较复杂时,代码的可读性会比较差,所以这时我们应当根据条件表达式是否需要参数将条件表达式提取成可读性更好的属性或者方法,如果条件表达式不需要参数则可以提取成属性, ...
- C#操作IIS程序池及站点的创建配置
最近在做一个WEB程序的安装包:对一些操作IIS进行一个简单的总结:主要包括对IIS进行站点的新建以及新建站点的NET版本的选择,还有针对IIS7程序池的托管模式以及版本的操作:首先要对Microso ...
- Azure开发者任务之二:Cloud Service项目添加到ASP.Net Web中
假设我们正在把现有的Web应用程序或ASP.Net MVC Web应用程序迁移到云中.在这种情况下,我们需要把云服务添加到现有的Web应用程序或ASP.Net MVC Web应用程序中. 我们有一个W ...
- c# tcp备忘及networkstream.length此流不支持查找解决
服务端 bool isRunning = true; MouseKeyBoard mk = new MouseKeyBoard(); void InitTcpServer(int port) { T ...
- 具有timeout 功能的函数调用
做项目的时候有时经常会需要一个带有timeout功能的函数调用. 比如从后台读数据并期望在给定时间内返回.借此机会包装了一个简单的C# class, 直接上代码吧. public class Time ...
- 【C#进阶系列】07 常量和字段
常量 常量总是被视为静态成员. 常量其实可以不限于基元类型,但是必须初始化为null.(我觉得这个点知道和不知道都一样,我已经自动从脑海中忽略了.很多时候在我这个人眼中,艰涩的代码和垃圾代码,其实没有 ...
- 一道灵活的css笔试题
今天在网上看到一css笔试题,乍一看很简单,实则内部暗藏玄机,题目大概是:九宫格,每格长宽50px,边框宽度5px,鼠标经过边框变红,效果如下: 鼠标路过时: 以下是代码(如有不足之处望多加指正) & ...