第二阶段 MySQL函数库 表的修改与查询

一.表结构的修改(DDL)

1.添加表结构的字段
a.ALTER TABLE 表名
ADD 字段名 数据类型 [字段属性|约束条件]
[FIRST|AFTER 字段名];

b. 添加多个字段
ALTER TABLE 表名
ADD 字段名 数据类型 [字段属性|约束条件]
[FIRST|AFTER 字段名],
ADD 字段名 数据类型 [字段属性|约束条件]
[FIRST|AFTER 字段名]...;

2 删除字段
ALTER TABLE 表名
DROP 字段名,
DROP 字段名...;

3.修改字段
ALTER TABLE 表名
MODIFY 字段名 数据类型 [字段属性|约束条件]
[FIRST|AFTER 字段名];
4.修改字段名称
ALTER TABLE 表名
CHANGE 旧字段名 新字段名 数据类型 [字段属性|约束条件]
[FIRST|AFTER 字段名];

5.添加默认值
ALTER TABLE 表名
ALTER 字段名 SET DEFAULT 值;
6.删除默认值
ALTER TABLE 表名
ALTER 字段名 DROP DEFAULT;

7.添加主键
ALTER TABLE 表名
ADD PRIMARY KEY(字段名称);
8.删除主键
ALTER TABLE KEY|INDE表名
DROP PRIMARY KEY;
说明:如果有AUTO_INCRMENT属性,一定要先删除
AUTO_INCRMENT才能删除主键

9.添加唯一性
a.ALTER TABLE 表名
ADD UNIQUE KEY|INDEX(字段名);
b.a.ALTER TABLE 表名
ADD [CONSTRAINT 约束名称] UNIQUE KEY|INDEX(字段名);
10删除唯一性
ALTER TABLE 表名
DROP KEY|INDEX 唯一性约束名称;
说明:如果添加唯一性没有设置 唯一性约束名称,
默认为字段名称
11. 修改表名称
a. ALTER TABLE 表名
RENAME [AS|TO] 新表名;
b. RENAME TABLE 旧表名
TO 新表名;
12. 重置自动增长
ALTER TABLE 表名
AUTO_INCREMENT=1;
二.帮助
? 命令
help 命令
\h 命令

三.表中对数据的操作(DML)
(1)添加(INSERT)
a.不列出表字段的添加(从第一字段到最后一个字段都赋值)
INSERT [INTO] 表名
VALUE[S] (值,值,值...);
b.不省略字段添加(添加一条记录)
INSERT [INTO] 表名(字段名,字段名...)
VALUE[S] (值,值...);
c.不省略字段添加(添加多记录)
INSERT [INTO] 表名(字段名,字段名...)
VALUE[S]
(值,值...),
(值,值...)...;
d.INSERT...SET (只能添加一条记录)
INSERT [INTO] 表名 SET 字段名=值,
字段名=值...;
(2)更新(UPDATE)
UPDATE 表名 SET 字段名=值,
字段名=值... [WHERE 条件];
说明:
如果更新没有WHERE 条件,表中字段
值都相同的值记录
(3)删除 (DELETE)
a.DELETE FROM 表名 [WHERE 条件];
说明:如果删除没有WHERE 条件,
将会清空表中所有数据,
AUTO_INCREMENT 不重置
b. TRUNCATE 表名;
说明: 清空表中所有数据,
并且 AUTO_INCREMENT 重置
四.表中对数据的查询(DQL)
1. 查询所有字段(效率底)
SELECT * FROM 表名;

2.列出字段查询
SELECT 字段名|expr,字段名|expr...
FROM 表名;
3.给字段起别名
SELECT 字段名 [AS]别名
FROM 表名;
4.给表起别名
SELECT 字段名
FROM 表名 [AS]别名;
5.表名(别名).字段名(字段来自哪个表)
SELECT 表名(别名).字段名
FROM 表名 [AS]别名;
6. 数据库名.表名 (表来自哪个数据库)
SELECT 字段名
FROM 数据库名.表名;
7.
SELECT 字段名|expr,字段名|expr...
FROM 表名
[WHERE 条件]
[GROUP BY 字段]
[HAVING 条件]
[ORDER BY 字段]
[LIMIT [$offset,]$length];
7.1 WHERE 条件:条件过滤
(1)比较运算符
> >= < <= =(等于) != <>
<=>(判断NULL)
(2) IS [NOT] NULL (判断NULL)

(3)[NOT] BETWEEN ...AND 范围值

(4) [NOT] IN(值,值...) 某个值

(5) 逻辑运算符实现条件过滤
!非
&& AND 与
|| OR 或

(6) LIKE 实现模糊查询
[NOT] LIKE ‘字符串‘

关键字
(1) %:包含任意多个字符(0个,1个,多个)
(2)_: 包含任意一个字符

7.2 GROUP BY 字段:分组,将字段中相同的值
分为一组
说明:
a.分组值显示一个结果,如果多个值显示
小编号的结果,一般显示分组的字段
b. 分组结合聚合函数使用
COUNT(*):获得每组中的个数,包含null
COUNT(字段) :不包含null值
AVG(字段):获得每组中的平均值
MAX(字段):获得每组中的最大值
MIN(字段):获得每组中的最小值
SUM(字段):获得每组中的和

7.3 HAVING 条件:二次条件过滤
说明:
a. WHERE 对字段的条件过滤
b. HAVING对一个运行结果的条件过滤,
结合分组使用

7.4 ORDER BY 字段:对字段排序
说明:
ORDER BY 字段 [ASC升序|DESC降序]

7.5
LIMIT [$offset,]$length:显示n条记录
说明:
a.$offset:偏移量,起始编号,编号从0开始
b.$length:显示记录(行)长度
c.实现web程序的分页原理
计算$offset =(当前页-1)*显示长度
$offset = ($curpage-1)*$pagesize

时间: 2024-09-30 21:11:21

第二阶段 MySQL函数库 表的修改与查询的相关文章

第二阶段 MySQL函数库 表中数据查询与多表操作

一位初学php的随堂笔记,记录自己的成长! 一.表结构的修改(DDL) 1.添加表结构的字段 a.ALTER TABLE 表名 ADD 字段名 数据类型 [字段属性|约束条件] [FIRST|AFTER 字段名]: b. 添加多个字段 ALTER TABLE 表名 ADD 字段名 数据类型 [字段属性|约束条件] [FIRST|AFTER 字段名], ADD 字段名 数据类型 [字段属性|约束条件] [FIRST|AFTER 字段名]...: 2 删除字段 ALTER TABLE 表名 DROP

第二阶段 MySQL函数库

一位初学php的随堂笔记,记录自己的成长! 一.数据库(DataBase DB) 1.数据库:存储数据的仓库 2.数据库分类: (1)关系型数据库:二维表存储数据(Mysql,SQLServer,Orcale,DB2等) (2)非关系型数据库(Nosql):MongDB等 3. Mysql安装 (1)window:配置文件 my.ini 进入命令行 开始--运行--cmd (2)Linux:配置文件:/etc/my.cnf 终端 mysql -uroot -p 说明: Mysql 数据库的存储位

MySQL函数库

MySQL函数库,这个函数库是一个外部函数库!这个函数提供了对于MySQL数据库进行操作的常用函数,如连接MySQL服务器.打开数据库.执行SQL语句等.所以这个函数库的功能对于我们来说是非常重要的! 其实,MySQL数据库是整个程序开发的最底层,我们在程序开发时,就必须为其添加一层漂亮的外衣,这层漂亮的外衣就是图形化用户界面(Graphical User Interface,简称GUI,又称图形用户接口),也就是使用者只需要具体基本的计算机知识,然后通过鼠标,就可以实现某些复杂的功能!其实,我

php总结8——mysql函数库、增删改

8.1 mysql函数库 php的函数   .php中用来操作mysql函数库的函数 常用函数 mysql_connect("主机名称/ip","用户名","密码")--->建立php到mysql的连接,返回资源----> mysql_error()  返回上一个mysql操作的文本错误信息 @ 错误抑制符 一般来说,mysql_connect和mysql_error() 一起使用,用如下方式表示: <?php $link[em

mysql 函数库

函数库 mysql存储过程基本函数包括:字符串类型,数值类型,日期类型 一.字符串类 CHARSET(str) //返回字串字符集 CONCAT (string2 [,… ]) //连接字串 INSTR (string ,substring ) //返回substring首次在string中出现的位置,不存在返回0 LCASE (string2 ) //转换成小写 LEFT (string2 ,length ) //从string2中的左边起取length个字符 LENGTH (string )

MYSQL 从库过滤在线修改

有时候,我们要对从库做在线修改过滤表的参数,刚开始的时候我们是直接修改配置文件的. 现在我们可以直接修改,比如我们修改Replicate_Do_Table 从库复制指定的表: 可以执行以下指令 1. stop slave: 关闭 从库复制 2. 修改: CHANGE REPLICATION FILTER Replicate_Do_Table=(ios_logs.money_change_20191027,ios_logs.money_change_20191101); 3.start slave

普通用户二进制安装mariadb10.1.16 mysql库表损坏修改

1)mariadb日志: 10:36:48 140397816809216 [Note] InnoDB: Dumping buffer pool(s) not yet started 2016-09-01 10:36:48 140510705071872 [Warning] InnoDB: Cannot open table mysql/gtid_slave_pos from the internal data dictionary of InnoDB though the .frm file 

MySQL生产库中添加修改表字段引起主从崩溃的问题总结

上周末和开发人员对线上库中的部分表的在线DDL和update,这过程中出现了一些意料之外的问题,现将过程.分析和解决方案在这里总结一下 一. 需求背景: 要在如下表中添加字段(modified_at)并且更改默认值 table_name { baby_compbaby_comp_statusbaby_usrbaby_ad_userbaby_campbaby_ordbaby_acc_eva } 每张表执行如下操作ALTER TABLE `$table_name` ADD COLUMN `modif

mysql对库,表,数据类型的操作以及完整性约束

一丶对库的操作 求救语法: help create database; 1.创建数据库 CREATE DATABASE 数据库名 charset utf8; 2.数据库的命名规则: 可以由字母.数字.下划线.@.#.$ 区分大小写 唯一性 不能使用关键字如 create select 不能单独使用数字 最长128位 # 基本上跟python或者js的命名规则一样 3.数据库的相关操作: #查看数据库 show databases; #查看当前库 show create database db1;