mysql数据库语法用处_MySQL数据库语法总结笔记
标签:
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数据库语法总结笔记相关推荐
- mysql数据库物理备份_MySQL数据库之xtrabackup物理备份(一)
(1)备份开始时会开启一个后台检测进程,实时检测mysql redo(已提交的事务)的变化,一旦发现redo中有新日志写入,立刻将日志记入后台日志文件xtrabackup_log中, (2)复制Inn ...
- MySQL数据库的总结_MySQL数据库应用总结(三)—MySQL数据库的基本操作
SQL语法预览: 查看所有数据库:[show databases; ] 创建数据库:[create database 数据库名;] 查看所创建的数据库:[show create database 数据 ...
- mysql 数据库引擎介绍_MYSQL 数据库引擎介绍
一般来说,MySQL有以下几种引擎:ISAM.MyISAM.HEAP.InnoDB和Berkley(BDB).注意:不同的版本支持的引擎是有差异的.当然啦,如果你感觉自己的确技术高超,你还能够使用My ...
- jdbc和mysql做游戏排行榜_MySQL数据库与JDBC编程
欢迎关注公众号:xfxuezhang MySQL数据库与JDBC编程 JDBC (Java Database Connectivity) DDL(Data Definition Language,数据 ...
- mysql数据库开发要求_MYSQL数据库开发规范
MYSQL数据库开发规范 (一) 建表规约 1.[推荐]表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint ( 1 表示是,0 表示否). 说明:任 ...
- mysql数据库咋还原_mysql数据库备份和还原
一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldump命令的工作原理很简单.它先 ...
- mysql数据库 博客_mysql数据库教程--第 页-杨雨个人博客-关注互联网和搜索引擎的技术博客...
发布时间:19-07-02 作者:杨雨 分类:mysql教程 Mysql主从基本原理,主要形式以及主从同步延迟原理 (读写分离)导致主库从库数据不一致问题的及解决方案.从数据库(Slave)是主数据库 ...
- 南京廖华里mysql测试题1答案_MySQL数据库考试试题及答案
B.只匹配1个 C.0个匹配 D.多个匹配 答案:C,D 10.下面对 union 的描述正确的是( ) A.union 只连接结果集完全一样的查询语句 B.union 可以连接结果集中数据类型个数相 ...
- mysql库文件修复_mysql数据库文件修复
多数情况下,数据库被破坏只是指索引文件受到了破坏,真正的数据被破坏掉的情况非常少.大多数形式的数据库破坏的的修复相当简单. 和前面的校验一样,修复的方式也有三种. 下面讲的方法只对MyISAM格式的表 ...
- mysql数据库端口链接_mysql数据库端口链接
高校计划ESC7天训练营-PolarDB搭建门户网站 Day04打卡 创建PolarDB数据库账号 使用无痕模式登录子账号 左侧侧边栏-产品与服务-云数据库PolarDB,进入PolarDB管理器 点 ...
最新文章
- Ubuntu 16.04安装双显卡驱动方法收集
- Lesson11 vSphere VUM
- 第十五届全国大学生智能车竞赛百度人工智能组相关文件链接
- 企业级工作流解决方案(八)--微服务Tcp消息传输模型之服务端处理
- SD--关于定价过程中的存储顺序的参考结构和参考字段的使用代码跟踪
- 网狐动态数组CWHArray
- 【边缘检测】RCF: Richer Convolutional Features for Edge Detection
- apache OFBiz的安装
- UnityParticle2:5x基础模块
- (转载)Linux的IPC命令
- mysql数据库表关联和django_django 数据库表关联
- 如何查找计算机密码cmd,教你如何查看计算机所连wifi密码
- 机电一体化基础知识及实训QY-JDYT01
- 全国计算机等级三级网络技术试卷详解(二)
- 智能家居项目(八)之树莓派+摄像头进行人脸识别
- URLEncoder.encode(String url)和URLDecoder.decode(String url)
- 《零基础D编程入门》
- 用非正式沟通减少需求和交互的矛盾
- 网络安全——sql注入判断
- shim是应该抛异常还是应该fail silently?