标签:

1.SQL对数据库进行操作

*创建数据库 create database 数据库名称; 【示例:create database itheima;】

*查看数据库 ————— show databases;

*查看某个数据库的定义信息 show create database 数据库名称;

*修改数据库 ————— alter database 数据库名称 character set 字符集 collate 校对规则; (collate 校对规则可以不写,不写系统会默认校对规则) 【示例:alter database itheima character set utf8;】

*删除数据库 drop database 数据库名称; 【示例:drop database itheima;】

*切换(选择、使用)数据库 use 数据库名称; 【示例:use itheima;】

*查看当前正在使用的数据库 select database();

2.约束

*主键约束: primary key 主键约束默认就是唯一 非空的 【一般一个表里面只有一个主键约束】

*唯一约束: unique

*非空约束: not null 【该字段可以出现重复的值,但是不能为空】

3.SQL对表的操作

*SQL查看表

*查看某个数据库下的所有的表 show tables; 【table后面有个s】

*查看某个表的结构详细信息 desc 表名; 【示例:desc user;】—表名随便取

*SQL删除表

*直接彻底删除表格 drop table 表名; 【示例:drop table user;】

*摧毁表 truncate table 表名; 【示例:truncate table user;】

*SQL修改表

*修改表:添加列 alter table 表名 add 列名 类型(长度)约束; 【示例:alter table user add image varchar(100);】—约束可以不写,系统默认自带约束

*修改表:修改列类型,长度和约束 alter table 表名 modify 列名 类型(长度) 约束; 【示例:alter table user modify image varchar(150);】

*修改表:删除列 ————– alter table 表名 drop 列名; —————————-【示例:alter table user drop age;】

*修改表:修改列名称 alter table 表名 change 旧列名 新列名 类型(长度)约束; 【示例:alter table user change image pic varchar(150);】

*修改表:修改表名(比较少用) rename table 原表名 to 新的表名;————————【示例:rename table user to employee;】

*修改表:修改表的字集(比较少用) alter table 表名 character set 字符集; 【示例:alter table employee character set gbk;】

4.SQL对数据库表的记录进行操作(重点)

*SQL添加表的记录(表名为student)

*添加某几列 insert into student(id,username,password)values(null,’aaa’,’123’);

*添加所有列 insert into student values(null,’bbb’,’123’,23,’1993-09-01’);

*添加中文记录 insert into student values(null,’张三’,’123’,23,’1993-09-01’);

*SQL修改表的记录(表名为student)

*修改某一列的所有值 update student set password=’abc’;

*按条件修改数据 update student set password=’xyz’ where username = ‘bbb’;

*按条件修改多个列 update student set password=’123’,age=34 where username=’aaa’;

*SQL删除表的记录(表名为student)

*删除某一条记录 delete form student where id=2;

*删除表中所有记录 delete form student;

5.SQL查看表的记录(重点)

*基本查询(表名为exam)

*查询所有学生考试成绩信息 select*from exam;

*查询所有学生的姓名和英语成绩 select name,english from exam;

*查询英语成绩信息(不显示重复的值) select distinct english from exam; //distinct不显示重复信息

*查看学生姓名和学生的总成绩 select name,english+chinese+math from exam;

*别名查询(换个见名知意的名字) select name,english+chinese+math as sum from exam;

*条件查询(表名为exam)

*模糊查询表记录(表名为exam)

*like ‘李_’ :名字中必须是两个字,而且是姓李的。

*like ‘李%’ :名字中姓李的学生,李子后可以是1个或任意个字符。 【有两个字或者三个字或者四个字都可以】

*like ‘%四’ :名字中以四结尾的。

*like ‘%王%’ :只要名称中包含这个字就可以。

*条件查询表记录(表名为exam)

*查询李四学生的成绩 select*from exam where name=’李四’;

*查询名称叫李四的学生并且英文大于90分 select*from exam where name = ‘李四’ add english > 90;

*查询姓李的学生的信息 select*from exam where name like ‘李%’;

*查询英语成绩是69,75,89学生的信息 select*from exam where english in (69,75,89);

*排序查询(表名为exam)

*查询学生信息,并且按照语文成绩进行排序 select*from exam order by chinese; 【没有写升序倒序,系统默认为升序】

*查询学生信息,并且按照语文成绩倒序排序 select*from exam order by chinese desc;

*查询学生信息,先按照语文成绩进行倒序 select*from exam order by chinese desc,english asc;

排序,如果成绩相同在按照英语成绩升序

*查询姓李的学生的信息,按照英语成绩降序排序 select*from exam where name like ‘李%’ order by english desc;

*分组统计查询(表名为exam)

**聚合函数使用

A: sum();

*获取所有学生的英语成绩的总和 select sum(english) from exam;

*获取所有学生的英语成绩和数学成绩总和 select sum(english),sum(math) from exam;

*查询姓李的学生的英语成绩的总和 select sum(english) from exam where name like ‘李%’;

*查询所有学生各科的总成绩 select sum(english)+sum(chinese)+sum(math) from exam;

B: count();

获得学生的总数 select count() from exam;

获得姓李的学生的个数 select count() form exam where name like ‘李%’;

C: max();

*获得数学成绩的最高分 select max(math) from exam;

D: min();

*获得语文成绩的最小值 select min(chinese) from exam;

E: avg();

*获取语文成绩的平均值 select avg(chinese) from exam;

*分组查询表记录(表名为orderitem)

按商品名称统计,每类商品所购买的个数 select product,count() from orderitem group by product;

*按商品名称统计,每类商品所花费的总金额 select product,sum(price) …

*按商品名称统计,统计每类商品花费的 select product,sum(price) from orderitem group by product having sum(price)

总金额在5000元以上的商品

*按商品名称统计,统计每类商品花费的总金额

在5000元以上的商品,并且按照总金额升序排序 select product,sum(price) from orderitem group by product having sum(price)>5000 order by sum(price) asc;

总结:S(select)… F(from)…W(where)…G(group by)…H(having)…O(order by);

顺序是不可颠倒的,如果里面有些是没有的,比如没有条件where,那么可以不要,但是只要代码里面有这些基础语法的,总的顺序不可颠倒

where后面不可以有聚合函数

================================================================================================================

****课外老师添加SQL对数据库和表的语法操作部分

1.

– 创建itheima数据库

CREATE DATABASE itheima;

– 选择itheima数据库

USE itheima;

– 查看现有的所有数据库

SHOW DATABASE;

– 删除数据库

DROP DATABASE itheima;

– 创建数据表

CREATE TABLE student(

sid INT PRIMARY KEY AUTO_INCREMENT, 【create table 表名称(字段名称 字段类型(长度) 约束,字段名称 字段类型(长度) 约束…);】

sname VARCHAR(20) NOT NULL,

sage INT NOT NULL,

score DOUBLE

);

– 查看目前itheima数据库中所有的数据表

SHOW TABLES; 【查看数据库所有数据表,table后面有个s】

– 查看某个表的详细信息

DESC student;

– 修改表结构:添加一个tel列

ALTER TABLE student ADD tel VARCHAR(30);

– 修改表结构:将tel列的数据类型修改为int

ALTER TABLE student MODIFY tel INT;

– 修改表结构:将tel列改名为newtel列

ALTER TABLE student CHANGE tel newtel VARCHAR(40) NOT NULL;

– 修改表结构:将newtel列删除

ALTER TABLE student DROP newtel;

– 删除数据表

DROP TABLE student;

2.

– 创建itheima的数据库

CREATE DATABASE itheima;

– 选择itheima数据库

USE itheima;

– 创建一个学生表

CREATE TABLE student1(

id INT PRIMARY KEY AUTO_INCREMENT,

sname VARCHAR(20) UNIQUE,

sage INT NOT NULL,

score DOUBLE,

birthday DATE 【date最后一个拼音是e不是a】

);

– 操作数据:添加数据

/*student1

insert into 表名 (字段名1,字段名2,…) values (值1,值2,…);

insert into 表名 values (所有的字段的值);

*/

INSERT INTO student1(id,sname,sage,score,birthday)VALUES(1,’张三’,20,66.6,’2017-01-03’); 【每个字段之间用逗号隔开,姓名、日期用单冒号标识】

INSERT INTO student1 VALUES(2,’李四’,21,77.7,’2017-01-04’);

INSERT INTO student1 VALUES(NULL,’王五’,22,88.8,’2017-01-05’); – null用来表示主键自动增长,可以批量添加

INSERT INTO student1 VALUES(NULL,’赵六’,23,90,’2017-01-06’),

(NULL,’周七’,24,91,’2017-01-07’),

(NULL,’田八’,25,92,’2017-01-08’); – null可以用来表示自动增长,在这里表示id号自动增长,null可以批量添加,中间用逗号隔开就行

– 操作数据:查询数据

/*

查询所有的数据:select * from 表名;

查询名称为周七的记录:select * from student where sname=’周七’;

*/

SELECT*FROM student1; – 查询到所有的表里面的数据 *表示所有的

SELECT*FROM student1 WHERE sname=’周七’; – 查询姓名为周七的数据

SELECT sname,sage FROM student1 WHERE sname=’周七’; – 只能看到周七的姓名和年龄

– 操作数据:修改数据

/*

修改数据,将王五的年龄修改为35岁

update 表名 set 字段=修改的值 where 字段=查询的值;

*/

UPDATE student1 SET sage=35 WHERE sname=’王五’; 【where表示具体的条件,或者可以理解成哪,比如该题,获取哪个的姓名,等于王五】【如果重名,就获取唯一的id,就是id=3】

UPDATE student1 SET sage=35; 【修改指定字段(列名)所有的值】

– 操作数据:删除记录

/*

将田八记录删除掉

delete from 表名 where 字段=值;

*/

DELETE FROM student1 WHERE sname=’田八’;

标签:

来源: https://blog.csdn.net/pf503603/article/details/82627967

mysql数据库语法用处_MySQL数据库语法总结笔记相关推荐

  1. mysql数据库物理备份_MySQL数据库之xtrabackup物理备份(一)

    (1)备份开始时会开启一个后台检测进程,实时检测mysql redo(已提交的事务)的变化,一旦发现redo中有新日志写入,立刻将日志记入后台日志文件xtrabackup_log中, (2)复制Inn ...

  2. MySQL数据库的总结_MySQL数据库应用总结(三)—MySQL数据库的基本操作

    SQL语法预览: 查看所有数据库:[show databases; ] 创建数据库:[create database 数据库名;] 查看所创建的数据库:[show create database 数据 ...

  3. mysql 数据库引擎介绍_MYSQL 数据库引擎介绍

    一般来说,MySQL有以下几种引擎:ISAM.MyISAM.HEAP.InnoDB和Berkley(BDB).注意:不同的版本支持的引擎是有差异的.当然啦,如果你感觉自己的确技术高超,你还能够使用My ...

  4. jdbc和mysql做游戏排行榜_MySQL数据库与JDBC编程

    欢迎关注公众号:xfxuezhang MySQL数据库与JDBC编程 JDBC (Java Database Connectivity) DDL(Data Definition Language,数据 ...

  5. mysql数据库开发要求_MYSQL数据库开发规范

    MYSQL数据库开发规范 (一) 建表规约 1.[推荐]表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint ( 1 表示是,0 表示否). 说明:任 ...

  6. mysql数据库咋还原_mysql数据库备份和还原

    一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldump命令的工作原理很简单.它先 ...

  7. mysql数据库 博客_mysql数据库教程--第 页-杨雨个人博客-关注互联网和搜索引擎的技术博客...

    发布时间:19-07-02 作者:杨雨 分类:mysql教程 Mysql主从基本原理,主要形式以及主从同步延迟原理 (读写分离)导致主库从库数据不一致问题的及解决方案.从数据库(Slave)是主数据库 ...

  8. 南京廖华里mysql测试题1答案_MySQL数据库考试试题及答案

    B.只匹配1个 C.0个匹配 D.多个匹配 答案:C,D 10.下面对 union 的描述正确的是( ) A.union 只连接结果集完全一样的查询语句 B.union 可以连接结果集中数据类型个数相 ...

  9. mysql库文件修复_mysql数据库文件修复

    多数情况下,数据库被破坏只是指索引文件受到了破坏,真正的数据被破坏掉的情况非常少.大多数形式的数据库破坏的的修复相当简单. 和前面的校验一样,修复的方式也有三种. 下面讲的方法只对MyISAM格式的表 ...

  10. mysql数据库端口链接_mysql数据库端口链接

    高校计划ESC7天训练营-PolarDB搭建门户网站 Day04打卡 创建PolarDB数据库账号 使用无痕模式登录子账号 左侧侧边栏-产品与服务-云数据库PolarDB,进入PolarDB管理器 点 ...

最新文章

  1. Ubuntu 16.04安装双显卡驱动方法收集
  2. Lesson11 vSphere VUM
  3. 第十五届全国大学生智能车竞赛百度人工智能组相关文件链接
  4. 企业级工作流解决方案(八)--微服务Tcp消息传输模型之服务端处理
  5. SD--关于定价过程中的存储顺序的参考结构和参考字段的使用代码跟踪
  6. 网狐动态数组CWHArray
  7. 【边缘检测】RCF: Richer Convolutional Features for Edge Detection
  8. apache OFBiz的安装
  9. UnityParticle2:5x基础模块
  10. (转载)Linux的IPC命令
  11. mysql数据库表关联和django_django 数据库表关联
  12. 如何查找计算机密码cmd,教你如何查看计算机所连wifi密码
  13. 机电一体化基础知识及实训QY-JDYT01
  14. 全国计算机等级三级网络技术试卷详解(二)
  15. 智能家居项目(八)之树莓派+摄像头进行人脸识别
  16. URLEncoder.encode(String url)和URLDecoder.decode(String url)
  17. 《零基础D编程入门》
  18. 用非正式沟通减少需求和交互的矛盾
  19. 网络安全——sql注入判断
  20. shim是应该抛异常还是应该fail silently?

热门文章

  1. 笔记本升级--老华硕的升级之路
  2. Android Things发布新版本DP7,NXP和树莓派开发板可升级
  3. vue3兄弟之间传值兄弟之间方法怎么调用?保姆级讲解
  4. DNS解析超时排查/etc/resolv.conf single-request-reopen参数说明
  5. AUTOCAD——打断命令、合并命令
  6. 开发服务器 k8s 设置 自定义 dns解析
  7. 如何用原生js获取非行间样式
  8. 虚拟机安装kali linux
  9. Iphone6+ 手机边框图片
  10. 【智能手环APP for Android 】01 百度地图展示行动轨迹