目录

一、MySQL中的数据类型

二、MySQL数据表的创建

三、MySQL对表的一些操作

1.向表中添加数据

2.修改表中的数据

3.删除表中的数据

4.查询表中的数据

4.1模糊查询:

4.2计数查询(求和、平均值、最大最小值):

4.3排序查询:

4.4获取最后一次添加的自增主键 :

4.5分组查询:

4.6分页查询:

4.7去重查询:


一、MySQL中的数据类型

  • 整型
分类 存储空间
TINYINT 8
SMALLINT 16
MEDIUMINT 24
INT 32
BIGINT 64
  • 浮点型 :

FLOAT 和 DOUBLE 为浮点类型,

DECIMAL 为高精度小数类型。

  • 字符串:
CHAR(n) n表示长度,固定长度的字符串,不会随数据大小而变化
VARCHAR(n) n表示最大长度,变长类型能够节省空间,当实际数据小于 n 时,会自动释放多余长度
  • 时间和日期 :
DATE 年月日
TIME 时分秒
DATETIME 年月日时分秒
TIMESTAMP 时间戳(年月日时分秒毫秒)

二、MySQL数据表的创建

CREATE TABLE 表名(

内容,

)

  • primary key 用于定义主键列
  • not null 表示当前字段不允许为 null
  • auto_increment:设置自动增长数字,自动增长只能为 int 类型的列设置
  • 一个表中只能存在一个自动增长列而且为主键列

例子:学生表

CREATE table tbl_student1(
stu_Id int PRIMARY KEY NOT NULL auto_increment,
stu_Name VARCHAR(20) NOT NULL,
stu_sex CHAR(1) NOT NULL,
stu_age INT NOT NULL,
stu_address VARCHAR(200) NOT NULL
)

结果:

三、MySQL对表的一些操作

1.向表中添加数据

格式1:INSERT INTO 表名 VALUES(要添加的值);【也可以一次性添加多条数据,用,隔开,例子               中后面三个】

例子:

INSERT INTO tbl_student VALUES(DEFAULT,"乔布斯","男",66,"USA加州");
INSERT INTO tbl_student VALUES(DEFAULT,"马斯克","男",55,"USA纽约");
INSERT INTO tbl_student VALUES(DEFAULT,"理想","男",54,"北京"),(DEFAULT,"蒂姆·库克","男",56,"UAS加州");
INSERT INTO tbl_student VALUES(DEFAULT,"雷军","男",22,"北京"),(DEFAULT,"任正非","男",66,"中国北京");
INSERT INTO tbl_student VALUES(DEFAULT,"放逐之刃","女",23,"德玛西亚"),(DEFAULT,"保时捷","男",56,"斯图加特");

格式2:表中部分列添加数据:INSERT INTO 表名(列名(不添加数据的列分为以下几种情况(1.自               增列,2.存在默认值的列,3.允许为空的列))) values(要添加的值);

例子:

INSERT INTO tbl_student(stu_Name,stu_sex,stu_age,stu_address)VALUES("费迪南德","男",99,"德国斯图加特");

以上几种的运行的结果:

表中的名字和地址纯属学习,没有其他意思。 

2.修改表中的数据

格式:UPDATE 表名 SET 列名 1=新值 1,列名 2=新值 2,... WHERE 更新条件

UPDATE tbl_student1 SET stu_address="深圳" WHERE stu_Id= 2;  -- 把id为2的学生地址修改成深圳
UPDATE tbl_student1 SET stu_age=16,stu_sex="女" WHERE stu_Id = 3; -- 修改id为3学生的年龄和性别
UPDATE tbl_student1 SET stu_age=stu_age+20,stu_sex="女" WHERE stu_Id = 4 or stu_Id = 5;  -- 修改年龄为4和5的学生的性别和年龄

结果:

3.删除表中的数据

格式: DELETE FROM 表名 WHERE 条件 根据条件删除某些行数据

DELETE FROM tbl_student1 WHERE stu_Id = 4;  -- 删除id为4的学生
DELETE FROM tbl_student1 WHERE stu_age>80 AND stu_address = "德国斯图加特";  -- 删除年龄大于80和地址为德国斯图加特的同学

结果:

4.查询表中的数据

WHERE后面加限定条件

  • SELECT *FROM 表名;   -- 查询表中所有的列和行
  • SELECT 列名1,列名2,... FROM 表名;   -- 查询表中指定的列
  • SELECT 列名1 AS "别名1",列名2 AS "别名2",... FROM 表名;   --使用别名进行查询(别名,为列名或表名重新起一个名字<外号、乳名>)
  • 表的别名可以直接跟在表后面,列的别名需要加as
SELECT * FROM tbl_student1 WHERE stu_Id=7;  -- 查询学号为7的学生
SELECT * FROM tbl_student1 WHERE stu_age%2=0;  -- 查询年龄为偶数的学生
SELECT * FROM tbl_student1 WHERE stu_age%2!=0; -- 查询年龄为奇数的学生
SELECT * FROM tbl_student1 WHERE stu_age%2<>0; -- 查询年龄为奇数的学生
SELECT * FROM tbl_student1 WHERE !(stu_age%2=0);  -- 查询年龄为奇数的学生
SELECT * FROM tbl_student1 WHERE NOT stu_age%2=0;  -- 查询年龄为奇数的学生
SELECT *FROM tbl_student1 WHERE stu_age>=20 AND stu_age<=30; --     查询年龄在[20,30]之间的人
SELECT * FROM tbl_student1 WHERE stu_age BETWEEN 20 AND 30; --  查询年龄在[20,30]之间的人
SELECT * FROM tbl_student1 WHERE stu_age>=22 AND stu_sex="男";     -- 查询年龄大于等于22的男生
SELECT * FROM tbl_student1 WHERE stu_Name="乔布斯";  -- 查询名字为乔布斯的学生。(精确查询)

4.1模糊查询:

SELECT * FROM tbl_student1 WHERE stu_Name LIKE "%德%";  -- 查询名字中含有德的学生(模糊查询)
SELECT * FROM tbl_student1 WHERE stu_Name LIKE"_军";  -- 查询姓名由两个字组成,加强结尾学生信息
SELECT * FROM tbl_student1 WHERE stu_Name LIKE"_布_";  -- 查询姓名由三个字组成,加强第二个字学生信息
SELECT * FROM tbl_student1 WHERE stu_Name LIKE"张%";  -- 查询姓张的同学;名字字数不限

4.2计数查询(求和、平均值、最大最小值):

SELECT COUNT(stu_Id) FROM tbl_student1;  -- 如何统计所有行数据,则建议使用主键统计以提高效率
SELECT SUM(stu_age) FROM tbl_student1;  -- 获取所有学生的年龄和
SELECT SUM(stu_age) FROM tbl_student1 WHERE stu_sex="男";  -- 获取所有男学生的年龄和
SELECT AVG(stu_age) FROM tbl_student1;  -- 获取所有学生年龄的平均值
SELECT MAX(stu_age) FROM tbl_student1;  -- 获取所有学生年龄的最大值
SELECT MIN(stu_age) FROM tbl_student1;  -- 获取所有学生年龄的最小值

4.3排序查询: 

SELECT * FROM tbl_student1 ORDER BY stu_age DESC  -- 将学生按照年龄降序排列
SELECT * FROM tbl_student1 ORDER BY stu_age ASC  -- 将学生按照年龄升序排列
SELECT * FROM tbl_student1 ORDER BY stu_age DESC,stu_Id DESC;  -- 将学生首先按照年龄降序排列,当年龄相同时按照学号
SELECT * FROM tbl_student1 WHERE stu_sex="男" ORDER BY stu_age DESC -- 将所有男生按照年龄降序排列

4.4获取最后一次添加的自增主键 :

SELECT LAST_INSERT_ID(); 

4.5分组查询:

(having:分组查询的条件)

SELECT stu_sex,COUNT(*) 人数 FROM tbl_student1 GROUP BY stu_sex; -- 根据性别分组并计数
SELECT stu_age,COUNT(*) 人数 FROM tbl_student1 GROUP BY stu_age; -- 根据性别分组并计数
SELECT stu_age,COUNT(*) 人数 FROM tbl_student1 GROUP BY stu_age HAVING stu_age>30; -- 把年龄大于30岁的人分组并计数

4.6分页查询:

SELECT * FROM tbl_student LIMIT 3,3   -- 第一个参数限制起始行数(不包括第一个参数),第二个参数查询的总行数
SELECT * from tbl_student WHERE stu_id=6 OR stu_id=8 OR stu_id=10 -- 使用 OR 或运算  查询学号为6,8,10的学生
SELECT * FROM tbl_student WHERE stu_id in(6,8,10) -- 使用 IN 运算实现   查询学号为6,8,10的学生

4.7去重查询:

-- 查询所有员工的工作(distinct去除重复的查询)
SELECT DISTINCT JOB FROM emp

ps:关于多表的查询在下一个博客中。写在一起博客内容太多了 。

MySQL---关于数据表的基本语句及操作 (下)多表联查


MySQL---关于数据表的基本语句及操作 (上)相关推荐

  1. navicat mysql 建表语句_Navicat for MySQL怎么/如何创建数据表?Navicat for MySQL创建数据表教程_斗蟹游戏网...

    [斗蟹攻略]Navicat for MySQL是针对MySQL数据库管理而研发的管理工具,创建数据表是其最基本操作,下面就由斗蟹小编介绍Navicat for MySQL创建数据表的方法. Navic ...

  2. mysql 为数据表添加字段_MySQL数据表添加字段实例

    MySQL 允许在开头.中间和结尾处添加字段.针对不同的位置,MySQL数据表添加字段的方式也有所不同,下面我们一起来看MySQL数据表添加字段的实例,方便我们理解MySQL数据表添加字段的方式. M ...

  3. MySQL 查询数据表

    MySQL 表单查询是指从一张表的数据中查询所需的数据,主要有查询所有字段.查询指定字段.查询指定记录.查询空值.多条件的查询.对查询结果进行排序等. 基本语法 MySQL 从数据表中查询数据的基本语 ...

  4. mysql创建表设置数值范围,MySQL创建数据表时设定引擎MyISAM/InnoDB操作

    我在配置mysql时将配置文件中的默认存储引擎设定为了innodb.今天查看了myisam与innodb的区别,在该文中的第七条"myisam支持gis数据,innodb不支持.即myisa ...

  5. MySQL查询数据表中数据记录(包括多表查询)

    MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: sele ...

  6. MySQL - 对数据表进行“增删查改”的基础操作 - 细节狂魔

    文章目录 前文知识点回顾 正文 :对数据表进行"增删查改"操作 新增操作 - insert 关键字 查找语句(基础操作) - select关键字 - 重点!!!!!!!! 1.最基 ...

  7. MySQL对数据表进行分组查询(GROUP BY)

    MySQL对数据表进行分组查询(GROUP BY) GROUP BY关键字可以将查询结果按照某个字段或多个字段进行分组.字段中值相等的为一组.基本的语法格式如下: GROUP BY 属性名 [HAVI ...

  8. MySQL修改数据表中的字段名

    MySQL修改数据表中的字段名 在一张数据表中只能设置一个唯一名称的字段名.在同一张数据表中,不能出现两个名称完全相同的字段名. 因此,数据库系统可以通过字段名来区分数据表中的不同字段. 在MySQL ...

  9. mysql创建数据表列子,MySQL 创建数据库及简单增删改查

    MySQL 创建数据库及简单增删改查 我们可以在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下: CREATE DATABASE 数据库名; 登入: Enter passwor ...

最新文章

  1. 史上最大规模ACL大会放榜,百度10篇NLP论文被录用!
  2. Linux系统ssh无法启动,Linux系统上SSH无法启动
  3. tftp ping 不通。无法访问目标主机
  4. virtualbox手动挂载共享文件夹
  5. 从java的NIO版hello world看java源码,我们能看到什么?
  6. BZOJ 1933 Bookcase 书柜的尺寸
  7. mysql登录出现1045错误
  8. 计算机管理界面截图,电脑网页页面太长怎么截图网页界面滚动截图的三种方法...
  9. java socket中文编码_Java Socket 中的编码问题
  10. 细菌的天敌抗生素,如何利用这把救命的双刃剑?
  11. 计算机硕士研究生毕设选题方向推荐 - 题目推荐
  12. STM32掌机教程8,背景音乐
  13. 集合论的ZFC公理系统
  14. C语言求sgn函数,sgnx(sgn函数)
  15. c语言,判断整数 m 是否素数
  16. PHP判断用户是否已经登录,如果登录则显示首页,如果未登录则进入登录页面或注册页面
  17. 一套策划正确的网页配色方案
  18. PowerBI把日期戳格式转换成常见日期格式
  19. js 截取指定字符后面/前面的所有字符串
  20. 【JNLP】什么是JNLP

热门文章

  1. 天道酬勤之Ruby 环境变量
  2. UDP网络编程和URL编程
  3. 【C++实战】找出周长最长的三角形
  4. vue接收Excel文件流并下载
  5. 电商API数据监测(品牌商品控价)
  6. getResponseCode()状态码
  7. rbw数字信号处理_如何理解FFT中时间窗与RBW的关系
  8. 7-10 计算工资(c语言)
  9. python调用通达信函数_Python读取通达信本地数据
  10. javplayer 使用教程_【教程】每日更新 | 立创EDA画图不求人系列视频教程@第一期目录...