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数据库 ...
随机推荐
- "浅谈Android"第一篇:Android系统简介
近来,看了一本书,名字叫做<第一行代码>,是CSDN一名博主写的,一本Android入门级的书,比较适合新手.看了书之后,有感而发,想来进行Android开发已经有一年多了,但欠缺系统化的 ...
- 由node-webkit想到
本人做为.NET的死忠也有些许年头.微软这几年被谷歌苹果之流打的有点招架不住..NET的前景也难免堪忧.虽然我认为就强类型语言方面,C#绝对是最强者.但是新技术的发展确实是可怕的,看看苹果几年就把no ...
- 利用IronJs在.NET程序里面跑javascript脚本
what’s dlr The dynamic language runtime (DLR) is a runtime environment that adds a set of services f ...
- App.Config详解
App.Config详解 应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的.它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序.配置文件的根节点是c ...
- 【原创】记一次Sql2008R2的数据库订阅发布遇到的问题!
1.首先新建一个空的数据库 CreditTest,里面没有任何表结构,视图,数据等. 2.在已连接的服务器的下方找到“复制”选项,然后兴建发布: ...(新建发布成功) ...(新建订阅成功) 3.问 ...
- WPF listbox UI虚拟化
ListBox 默认是UI虚拟化的. 1. 原生使用 <ListBox VirtualizingPanel.IsVirtualizing="True" Virtualiz ...
- 【Bootstrap基础学习】01 Bootstrap的CSS
Bootstrap 使用了一些 HTML5 元素和 CSS 属性,所以需要使用 HTML5 文档类型. <!DOCTYPE html> <html lang="zh-CN& ...
- ASP.NET几种页面数据绑定的用法及区别: <%#、 <%=、 <% 、<%@
< %#... %>: 是在绑定控件DataBind()方法执行时被执行,用于数据绑定 如: < %# Container.DataItem("tit") %&g ...
- 第二章--Win32程序运行原理 (部分概念及代码讲解)
学习<Windows程序设计>记录 概念贴士: 1. 每个进程都有赋予它自己的私有地址空间.当进程内的线程运行时,该线程仅仅能够访问属于它的进程的内存,而属于其他进程的内存被屏蔽了起来,不 ...
- CentOS修改服务器系统时间
linux安装完毕后,一般都是国外的世界,一点都不方便设置任务,或者导致网站获取本地的时间错乱,所以就需要把服务器的时间改为和本地时间一致,也就是换成中国的时间. 第一条指令:date –s '201 ...