一、 对数据库的操作

1. 创建一个库

create database 库名

create database 库名 character set 编码

创建带有编码的

查看编码:

2. 删除一个库

drop database 库名

3. 使用库

use 库名

4.查看当前正在操作的库

二、对数据库表的操作

1.创建一张表

create table 表名(

字段名 类型(长度) [约束],

字段名 类型(长度) [约束],

字段名 类型(长度) [约束]

);

2.查看数据库表

创建完成后,我们可以查看数据库表

show tables;

查看表的结构

desc 表名

3.删除一张表

drop table 表名

4.修改表

4.1 添加一列

alter table 表名 add 字段名 类型(长度) [约束]

4.2 修改列的类型(长度、约束)

alter table 表名 modify 要修改的字段名 类型(长度) [约束]

4.3 修改列的列名

alter table 表名 change 旧列名 新列名 类型(长度) [约束]

4.4 删除表的列

alter table 表名 drop 列名

4.5 修改表名

rename table 表名 to 新表名

4.6 修改表的字符集

alter table 表名 character set 编码

查看当前表的编码

三、对数据库表记录进行操作(修改)

1.插入记录

insert into 表名(列名1,列名2,列名3……) values(值1,值2,值3……)

insert into 表名 values(值1,值2,值3……)

1.1 插入数据中文乱码问题解决办

方式一:【不建议!】

直接修改数据库安装目录里面的my.ini文件的第57行

方式二:

set names gbk;

2.修改表记录

2.1 不带条件的

update 表名 set 字段名=值, 字段名=值, 字段名=值……

它会将该列的所有记录都更改

2.2 带条件的

update 表名 set字段名=值, 字段名=值, 字段名=值…… where 条件

3.删除表记录

3.1 带条件的

delete from 表名 where 条件

注意,删除后,uid不会重置!

3.2.不带条件的

先准备数据

insert into tbl_user values(null,’老王’,’666’);

删除操作

delete from 表名;

3.3 面试题

说说delete与truncate的区别?

delete删除的时候是一条一条的删除记录,它配合事务,可以将删除的数据找回。

truncate删除,它是将整个表摧毁,然后再创建一张一模一样的表。它删除的数据无法找回。

Delete操作演示:

Truncate操作演示

注意:delete删除,uid不会重置!而使用truncate操作,uid会重置

4.查询操作

语法:

select [distinct] *| 列名,列名 from 表名 [where条件]

4.1 简单查询

1.查询所有商品

select * from product;

2. 查询商品名和商品价格

select pname,price from product;

3.查询所有商品信息使用表别名

select * from product as p;

4.查询商品名,使用列别名

select pname as p from product

5.去掉重复值(按照价格)

select distinct(price) from product;

先准备数据:

insert into product values (null,'李士雪',38,null);

6.将所有的商品的价格+10进行显示

select pname,price+10 from product;

4.2 条件查询

1.查询商品名称为"左慈"的商品信息

2.查询价格>60元的所有商品信息

3.查询商品名称含有"士"字的商品信息

4.查询商品id在(3,6,9)范围内的所有商品信息

5.查询商品名称含有"士"字并且id为6的商品信息

6.查询id为2或者6的商品信息

4.3 排序

1.查询所有的商品,按价格进行排序(升序、降序)

2.查询名称有"士"的商品信息并且按照价格降序排序

4.4 聚合函数

1.获得所有商品的价格的总和

2.获得所有商品的平均价格

3.获得所有商品的个数

4.5 分组操作

1.添加分类id (alter table product add cid varchar(32);)

2.初始化数据

update product set cid='1';

update product set cid='2' where  pid in (5,6,7);

1.根据cid字段分组,分组后统计商品的个数。

2.根据cid分组,分组统计每组商品的平均价格,并且平均价格大于20000元。

4.6 查询总结

select  一般在的后面的内容都是要查询的字段

from  要查询到表

where

group by

having  分组后带有条件只能使用having

order by 它必须放到最后面

MySQL回顾的更多相关文章

  1. mysql 回顾小练习

    Student(id,sname,age,sex) 学生表 Course(id,cname,t_id) 课程表 SC(s_id,c_id,score) 成绩表 Teacher(id,Tname) 教师 ...

  2. MySQL 基础回顾

    mysql 回顾 数据库的设计必须满足三范式 1NF: 强调列的原子性,列不可拆分 eg: 一张表(联系人) 有(姓名,性别,电话)三列,但是现实中电话又可分为家庭电话和公司电话,这种表结构设计就不符 ...

  3. Mysql学习笔记(八)由触发器回顾外键约束中的级联选项

    近些天都没有写博客.在学习mysql的知识,通过学习和练习,也熟悉了mysql的函数.触发器.视图和存储过程.并且在实际的开发过程中也应用了一小部分.效果还是十分理想的. 今天晚上在学习触发器模仿in ...

  4. 回顾:Linux环境 Mysql新建用户和数据库并授权

    回顾:Linux环境 Mysql新建用户和数据库并授权 一.新建用户 //登录Mysql @>mysql -u root -p @>密码 //创建用户 mysql> insert i ...

  5. MySQL多表查询回顾

    ----------------------siwuxie095 MySQL 多表查询回顾 以客户和联系人为例(一对多) 1.内连接 /*内连接写法一*/ select * from t_custom ...

  6. SQL快速入门 ( MySQL快速入门, MySQL参考, MySQL快速回顾 )

    SQL 先说点废话,很久没发文了,整理了下自己当时入门 SQL 的笔记,无论用于入门,回顾,参考查询,应该都是有一定价值的,可以按照目录各取所需.SQL数据库有很多,MySQL是一种,本文基本都是SQ ...

  7. 快速回顾MySQL:简单查询操作

    利用空闲时间花几分钟回顾一下 7.1 检索数据 为了查询出数据库表中的行(数据),使用SELECE语句. 格式: # 第一种 SELECT * FROM <table_name>; # 第 ...

  8. MySQL快速回顾:数据库和表操作

    前提要述:参考书籍<MySQL必知必会> 利用空闲时间快速回顾一些数据库基础. 4.1 连接 在最初安装MySQL,可能会要求你输入一个管理登录(通常为root)和一个口令(密码). 连接 ...

  9. 回顾MySql的一些基本的增删改查

    ---恢复内容开始--- 回顾数据库的一些简单的增删查改的操作语法与注意点,来自菜鸟教程https://www.runoob.com/mysql/mysql-tutorial.html 关于数据库的操 ...

随机推荐

  1. Django之模型的_meta属性

    Python有反射机制,Django也不例外,也有很好的反射机制,每个Django模型都有一个属性_meta,_meta也有属性和方法,这些属性和方法反射出了模型的一些特性,如果_meta用的好的话, ...

  2. 整理 Linux下列出目录内容的命令

    在 Linux 中,有非常多的命令可以让我们用来执行各种各样的任务.当我们想要像使用文件浏览器一样列出一个目录下的内容时,大家第一时间想到的是 ls 命令.但只有 ls 命令能实现这个目的吗?显然不是 ...

  3. PHP提示dyld: Library not loaded问题解决

    Mac在命令行执行php命令时,如php -v 有错误提示: dyld: Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0..d ...

  4. Linux基础入门(一)初识Shell

    Linux基础入门(一)初识Shell shell是什么 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell ...

  5. Ethical Hacking - GAINING ACCESS(4)

    SERVER SIDE ATTACKS - METASPLOIT Metasploit is an exploit development and execution tool. It can als ...

  6. 011.Nginx防盗链

    一 盗链 1.1 盗链概述 盗链指的是在自己的界面展示非本服务器上的内容,通过技术手段获得其他服务器的资源.绕过他人资源展示页面,在自己页面向用户提供此内容,从而减轻自己服务器的负担,因为真实的空间和 ...

  7. 【Python学习笔记七】从配置文件中读取参数

    将一些需要更改或者固定的内容存放在配置文件中,通过读取配置文件来获取参数,这样修改以及使用起来比较方便 1.首先是配置文件的写法如下一个environment.ini文件: 里面“[]”存放的是sec ...

  8. Python网络爬虫四大选择器用法原理总结

    前几天小编连续写了四篇关于Python选择器的文章,分别用正则表达式.BeautifulSoup.Xpath.CSS选择器分别抓取京东网的商品信息.今天小编来给大家总结一下这四个选择器,让大家更加深刻 ...

  9. Asp.Net Core 中的“虚拟目录”

    写在前面 现在部署Asp.Net Core应用已经不再限制于Windows的IIS上,更多的是Docker容器.各种反向代理来部署.也有少部分用IIS部署的,IIS部署确实是又快又简单,图形化操作三下 ...

  10. 网络流(dinic算法)

    洛谷p3376 https://www.luogu.com.cn/problem/P3376 #include <iostream> #include <cstdio> #in ...