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数据库 ...
随机推荐
- webpack实战
webpack实战 30分钟手把手教你学webpack实战 2015-09-08 23:02 by 龙恩0707, 175 阅读, 0 评论, 收藏, 编辑 30分钟手把手教你学webpack实战 阅 ...
- QCustomplot使用分享(五) 布局
一.历史对比 关于QCPLayoutElement这个元素的讲解之前,我想先对1.3.2release版本和2.0.0beta版本的该元素做以简单的对比介绍,首先,1.3.2release版本时,鼠标 ...
- 四则运算APP(BUG发掘)
BUG: 1.有几率会出现一样的题目. 2.题目会出现两个一样的答案. 3.做题结束后不能返回主界面或者重新开始. 感想: 1.题目应该按年级分类出题. 2.主界面可以添加更多功能 如自己输入题目数, ...
- java和javascript双引号嵌套的问题
双引号不能嵌套双引号,否则一对双引号就结束了. java中双引号中嵌套双引号需要转义: /** * java双引号转义符测试 * @author asus * */ public static voi ...
- MVC ,Action方法传数据给视图有几种方式?--PS:tempData和Viewbag,还有ViewData之间的区别
//---------------------------------控制器向视图传递数据 public ActionResult TransData() { //1.ViewBag ViewBag. ...
- 因用了NeatUpload大文件上传控件而导致Nonfile portion > 4194304 bytes错误的解决方法
今天遇到一个问题,就是“NeatUpload大文件上传控件而导致Nonfile portion > 4194304 bytes错误”,百度后发现了一个解决方法,跟大家分享下: NeatUploa ...
- Winfrom中ListBox绑定List数据源更新问题
Winfrom中ListBox绑定List数据源更新问题 摘自:http://xiaocai.info/2010/09/winform-listbox-datasource-update/ Winfr ...
- Python好用的网站收集
第三方Pthon包查找:http://www.lfd.uci.edu/ http://www.cnblogs.com/lanxuezaipiao/p/3543658.html
- FreeBSD暂时用9.X系列为宜
今天尝试在FreeBSD10 上编译c代码,发现gcc被换成llvm后,环境配置需要重新学习.
- 状态压缩DP---Hie with the Pie
http: //acm.hust.edu.cn/vjudge/contest/view.action?cid=110044#problem/B Description The Pizazz Pizze ...