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数据库 ...
随机推荐
- 缓存池扩展 (Buffer Pool Extension)实践
SQL Server 2014缓存池扩展 (Buffer Pool Extension)功能可以将缓存池扩展到较快的SSD存储上.为内存比较紧张的系统提供了新的扩展途径. Buffer Pool 扩展 ...
- springMVC源码分析之拦截器
一个东西用久了,自然就会从仅使用的层面上升到探究其原理的层面,在javaweb中springmvc更是如此,越是优秀的框架,其底层实现代码更是复杂,而在我看来,一个优秀程序猿就相当于一名武林高手,不断 ...
- ChartDirector应用笔记(一)
ChartDirector介绍 ChartDirector是一款小巧精细的商业图表库.其适用的语言范围非常广泛,包括.Net, Java, Asp, VB, PHP, Python, Ruby, C+ ...
- vmware安装mac
1.笔记本安装mac10.6 2.用VMware8,需要在mac.vmx中添加以下语句 guestOS = "darwin10"ich7m.present="TRUE&q ...
- C#中CookieContainer获取里面cookie值异常:InvokeMember("m_domainTable") FieldAccessException
1.可能是主机提供商的 安全问题. Their hosts works in medium trustsecurity, and ASProxy needs a full trust security ...
- JS获取屏幕高度
主要使用了document对象关于窗口的一些属性,这些属性的主要功能和用法如下. 要 得到窗口的尺寸,对于不同的浏览器,需要使用不同的属性和方法:若要检测窗口的真实尺寸,在netscape下需要使用w ...
- ACdrea 1217---Cracking' RSA(高斯消元)
ACdrea 1217---高斯消元 Description The following problem is somehow related to the final stage of many ...
- UVA 10090 - Marbles 拓展欧几里得
I have some (say, n) marbles (small glass balls) and I am going to buy some boxes to store them. The ...
- bootstrap 学习片段
1. 只要单击按钮添加了data-toggle="dropdown"属性, 在单击按钮的时候,默认隐藏的下拉列表就会显示出来 <div class="row&quo ...
- ASP.NET WebAPI 10 Action的选择(二)
在本系列的第二篇简要的讲述了Action的选择条件本篇深入讲述一下Action选择的过程在上一篇中我们已经讲到了Controller的激活过程中已经说到了设置Controller的Controller ...