Mysql数据库技术

我们可以利用命令提示符进入MYSQL数据库

基础操作

如何在指定数据库中创建表

我们先来了解一下在数据库中创建表的规则:
  1. CREATE TABLE 表名
  2. (
  3.      字段名,数据类型,
  4.      字段名,数据类型,
  5. .....
  6. )
基本的建表流程

添加主键约束

(1) 在定义列的同时指定主键:
(2) 在定义完所有列之后指定主键。
多字段联合主键
在开发中还有一种情况很常见,就是将几个字段联合在一起作为主键,那这个在代码中怎么实现呢? 举个例子,我们将员工的名字和部门ID联合起来作为主键:
  1. CREATE TABLE t_emp2
  2. (
  3. name VARCHAR ( 32 ),
  4. deptId INT ,
  5. salary FLOAT ,
  6. PRIMARY KEY ( name , deptId )
  7. )
语句执行后,会将 name deptId 字段组合成为表 t_emp2 的多字段组合主键。
如图T_Class的classld是主键,也是T_student的外键, 外键的作用是保证数据的一致性和完整性

约束语法规则大全

  1. 外键约束: constraint 外键名 foregin key(字段名) references 主表名(主键)
  2. 唯一约束:字段名 数据类型 unqiue
  3. 非空约束:字段名 数据类型 not null
  4. 默认约束:字段名 数据类型 default '备注'
  5. 设置表的属性值自动增加 关键词:AUTO_INCREMENT(auto_increment),默认情况下初始值和增量都为1。

查看数据表的基本结构

语法规则为:   DESCRIBE 表名;

当使用该语法查看表的字段信息,如下图:

其中,该结构中各个字段的含义分别为:

  • NULL:表示该列是否能存储 NULL 值;

  • Key:表示该列是否已编制索引;

  • PRI:表示该列是此表主键的一部分;

  • UNI:表示该列是 UNIQUE 索引的一部分;

  • MUL:表示在列中某个给定值允许出现多次;

  • Default:表示该列是否有默认值,如果有的话值是多少;

  • Extra:表示可以获取的与给定列有关的附加信息。

查看数据表详细结构

语法规则为:SHOW CREATE TABLE 表名; 。

表的修改操作

修改表名

语法规则为:ALTER TABLE 旧表名 RENAME 新表名; 

修改字段名

语法规则为: ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型; 

修改字段数据类型

语法规则为: alter table 表名 modify 字段名 数据类型;

添加字段

语法规则为: ALTER TABLE 表名 ADD 新字段名 数据类型 [约束条件] [FIRST|AFTER] 已存在字段名; 。

提示:只要不做[FIRST|AFTER]的位置说明,在添加字段时MySQL会默认把新字段加入到表的最后一列。  指定位置插入字段

删除字段

语法规则为: ALTER TABLE 表名 DROP 字段名; 。

修改字段的排列位置

语法规则为: ALTER TABLE 表名 MODIFY 字段1 数据类型 FIRST|AFTER 字段2; 。

删除表的外键约束

语法规则为: ALTER TABLE 表名 DROP FOREIGN KEY 外键约束名; 。

数据的修改操作

为表的所有字段插入数据

语法规则:INSERT INTO 表名 (字段名) VALUES (内容);

为表的指定字段插入数据

语法规则:INSERT INTO 表名 (字段名) VALUES (内容),(内容),(内容);

更新表中指定的内容

语法规则为: UPDATE 表名 SET 字段名1 = 内容1, 字段名2 = 内容2, 字段名3 = 内容3 WHERE 过滤条件; 。

eg: where 用于指定特定的行进行更新。

删除表中的指定行

语法规则为: DELETE FROM 表名 WHERE 条件语句; 。

删除表中所有的行

语法规则为: DELETE FROM 表名; 。 (可用truncate table代替  truncate v.截断)

查询操作

查询数据表中指定字段的内容

SELECT 基本语法规则为: SELECT 字段名 FROM 表名; 。

查询数据表中多个指定字段的内容

语法规则为: SELECT 字段名1, 字段名2 FROM 表名; 。

查询数据表中的所有内容

语法规则为: `SELECT *` `FROM 表名;`

带IN关键词的查询

IN关键字被用在WHERE语句的后边,用来过滤你所需要查询的内容。更形象的说,IN关键字的使用情形就像点名,点到谁谁就要站出来。

语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 IN (n1,n2,n3,...); 。

NOT IN关键字的查询

加了NOT取反后,就意味着,我们要查询的是除了括号中出现内容外的所有内容。

语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 NOT IN (n1,n2,n3,...); 。

BETWEEN AND关键字的查询

查询在一个范围里有多少符合条件的数据  要用到between and关键词

语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 BETWEEN n1 AND n2; 。

NOT BETWEEN AND关键字的查询

语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 NOT BETWEEN n1 AND n2; 。

使用通配符%模糊匹配数据内容

百分号通配符%可以匹配任意长度的字符,甚至包括零字符。

语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 LIKE '字符%'; 。 其中 % 的位置可以根据需要在字符间变化

使用通配符_模糊匹配数据内容

下划线通配符_与百分号通配符%类似,也用于模糊匹配。但是区别在于下划线通配符_只能模糊匹配1个字符。如果你执意想用下划线通配符_匹配多个字符,那只能多用几个_咯!

语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 LIKE '字符_'; 。 其中`_`的位置可以根据需要在字符间变化。

查询空值

语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 IS NULL; 。

查询去除重复后的结果

有的时候,出于对数据分析的要求,分析人员需要消除数据表中重复的数据,那么如何消除呢?别担心,SQL语句也贴心的为你准备好了消除重复数据的关键字DISTINCT

语法规则为: SELECT DISTINCT 字段名 FROM 表名; 。

AND关键字的多条件查询

 语法规则为: SELECT 字段名 FROM 表名 WHERE 表达式1 AND 表达式2; 。

OR关键字的多条件查询

语法规则为: SELECT 字段名 FROM 表名 WHERE 表达式1 OR 表达式2; 。

对查询结果排序

我们知道在MySQL中从数据表中读取数据都是使用SELECT语句。

语法:SELECT 字段名 FROM 表名 ORDER BY 字段名 [ASC[DESC]];

默认情况下,它是按升序排列的。(更改参数可以得到不同得排序方式)

  • ASC 升序关键字asc
  • DESC 降序关键字desc

eg :

注意两者的区别,如果出现筛选,需先where筛选再进行排序order by。

分组查询的单独使用

语法:SELECT 字段名 FROM 表名 GROUP BY 字段名;

分组查询的关键字是Group By,查询的是每个分组中 首次出现的一条记录

如图所示:

LIMIT的使用

在我们查询大量数据结果时,会返回很多条数据,有需要的记录可能就其中的一条或者几条。比如,实现分页功能,若每页显示10条记录,每次查询就只需要10条记录。 在MySQL中,提供了LIMIT关键字,用来限制查询结果的。

语法 :SELECT 字段名 FROM 表名 LIMIT [OFFSET,] 记录数;  用[]包住的参数,可以不用输入,其具有默认值,不选参数时则为默认值

参数说明:

第一个参数,OFFSET,可选参数,表示偏移量,如果不指定默认值为0,表示从查询结果的第一条记录开始,若偏移量为1,则从查询结果中的第二条记录开始,以此类推。

第二个参数,记录数,表示返回查询结果的条数。

mysql暂时全部完成,继续加油!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值