09js、MySQL相关-2018/07/19

  • 1.js的dom

    • 理解一下文档对象模型:html文件加载到内存之后会形成一颗dom树,根据这些节点对象可以进行脚本代码的动态修改;在dom树当中 一切皆为节点对象
    • dom方法和属性
      • getElementsById
      • getElementsByName
      • getElementsByTagName//获取给定标签名的所有元素,返回数组
      • hasChildNodes
      • nodeName:一个字符串,其内容是给定节点的名字,只读属性
      • nodeType只读属性
      • nodeValue
      • replaceChild 把父节点的一个子节点替换,返回已被替换的指针(获取父parentNode子childNodes)
      • getAttribute返回一个给定元素的一个给定属性节点的值
      • setAttribute输入name和value
      • createElements被创建的元素的名字
      • createTextNode创建一个文本节点并返回
      • appendChild插入节点
      • insertBefore
      • nextSibling下一个兄弟
      • removeChild
      • innerHTML
  • 2.sql分类
    • DDL 定义数据库对象(库表列)

      • 关键字:create、alter、drop
    • DML 数据操作语言-表
      • 关键字insert、update,delete
      • 字符串类型和日期类型都要用单引号括起来
    • DQL 查询数据
    • DCL 控制,定义权限
  • 3.操作数据库
    • 创建:create database mydb1;
    • 查询:show database....;
    • 删除:drop database mydb1;
    • 修改:alter database
    • 切换:Use mydb1;
    • 查看当前数据库:select database();
  • 4.操作表
    • 创建:create table 表名(字段1 字段类型,字段2 字段类型...);

      • int
      • double:double(5,2)表示最多5位有2位小数
      • char:固定长度字符串;char(10)表示可以写10个字符
      • varchar:可变长度字符串;
      • text:字符串类型;存大数据的;
      • blob:字节类型
      • date:日期类型;格式:yyy-mm-dd;
      • time:时间类型;格式:hh:mm:ss;
      • timestamp:时间戳类型,会自动赋值
      • datetime:日期时间类型
    • 查看当前数据库的所有表:show tables;
    • 查看表的所有字段:desc 表名;
    • 添加一个列:alter table 表名 add 字段1 字段类型;
    • 修改字段类型:alter table 表名modify 字段1 字段类型;
    • 删除列,一次只能删一列:alter table 表名 drop 字段1;
    • 改表名:rename table emp to user;
    • 改字段名:alter table user change name username varchar(100);
    • 删除表:drop table user;
  • 5.操作数据
    • 插入:INSERT INTO 表名(id,name,gender...)VALUES(1,'zhangsan','female'...);
    • 修改:UPDATE 表名 SET 列名1=列值1,列名2=列值2 .... WHERE 列名=值
    • 删除:DELETE FROM 表名 WHERE 列名=值
  • 6.DQL数据查询语言
    • 查询返回的结果集是一张虚拟表
    • SELECT 列名 FROM表名
    • 查询所有列SELECT * FROM stu;
    • 查询指定列SELECT sid, sname, age FROM stu;
    • 条件查询:在查询时给出WHERE子句,在WHERE子句中可以使用如下运算符及关键字:
      • =、!=、<>不等于、<、<=、>、>=;
      • BETWEEN…AND;
      • IN(set);
      • IS NULL; IS NOT NULL
      • AND;
      • OR;
      • NOT;
      • e.g.:查询学号为S1001,S1002,S1003的记录 SELECT * FROM stu WHERE sid IN ('S1001','S1002','S1003');
    • 模糊查询:关键字like
      • select * from book where bname like 'b'
      • 通配符:(1)_:任意一个字符(2)%:任意0~n个字符
    • 字段控制查询:
      • 去除重复记录:SELECT DISTINCT sal FROM emp;
      • 查看雇员的月薪与佣金之和:
        • SELECT *,sal+IFNULL(comm,0) FROM emp;(使用了把NULL转换成数值0的函数IFNULL)
        • SELECT *, sal+IFNULL(comm,0) AS total FROM emp;(起名为total,as也可以省略)
    • 排序:
      • 升序:SELECT *FROM stu ORDER BY sage ASC;(默认)
      • 降序:SELECT *FROM stu ORDER BY age DESC;
    • 聚合函数:聚合函数是用来做纵向运算的函数:
      • COUNT():统计指定列不为NULL的记录行数;

        • SELECT COUNT(*) FROM emp;
      • MAX():计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;
      • MIN():计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;
      • SUM():计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;
      • AVG():计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;
    • 分组查询:GROUP BY,HAVING子句
      • 注:凡和聚合函数同时出现的列名,一定要写在group by 之后
      • 查询每个部门的部门编号以及每个部门工资大于1500的人数:
        • SELECT deptno, SUM(sal) FROM emp WHERE sal>1500 GROUP BY deptno;
      • 查询工资总和大于9000的部门编号以及工资和:
        • SELECT deptno, SUM(sal) FROM emp GROUP BY deptno HAVING SUM(sal) > 9000;
      • 注:having与where的区别:
        • 1.having是在分组后对数据进行过滤;where是在分组前对数据进行过滤
        • 2.having后面可以使用聚合函数(统计函数);where后面不可以使用聚合函数。
    • LIMIT方言:用来限定查询结果的起始行,以及总行数。
      • 查询10行记录,起始行从3开始。SELECT * FROM emp LIMIT 3, 10;
      • 第一个参数是开始的行数,第二个是要查询的总行数
    • 查询顺序:select -> from -> where -> group by -> having -> order by -> limit
  • 7.数据的完整性作用:保证用户输入的数据保存到数据库中是正确的。确保数据的完整性 , 在创建表时给表中添加约束。
  • 8.实体完整性
    • 作用:标识每一行数据不重复。
    • 主键约束(primary key)每个表都要有一个主键。特点:数据唯一,且不能为null
      • 第一种添加方式:CREATE TABLE student(Id int primary key,Name varchar(50));
      • 第二种:CREATE TABLE student(id int,Name varchar(50),Primary key(id,name));(id,name同时相同时才报错)
      • 第三种:CREATE TABLE student(Id int,Name varchar(50)); ALTER TABLE student ADD PRIMARY KEY (id);
    • 唯一约束:CREATE TABLE student(Id int primary key,Name varchar(50) unique);
    • 自动增长列(auto_increment)
      • CREATE TABLE student(Id int primary key auto_increment,Name varchar(50));
  • 9.域完整性
    • 域完整性约束:数据类型 非空约束(not null) 默认值约束(default)
    • 作用:限制此单元格的数据正确,不对照此列的其它单元格比较
    • 非空约束:not null
      • CREATE TABLE student(Id int pirmary key,Name varchar(50) not null);
    • 默认值约束 default
      • CREATE TABLE student(Id int pirmary key,Name varchar(50) not null,Sex varchar(10) default ‘男’); insert into student1 values(2,'jerry',default);
  • 10.引用完整性
    • 外键约束:FOREIGN KEY
    • 第一种:
       create table score(
      id int,
      score int,
      sid int , // 外键列的数据类型一定要与主键的类型一致
      CONSTRAINT //外键的名称
      foreign key (sid) references student(id)
      );//父表要有主键
    • 第二种:ALTER TABLE score1 ADD CONSTRAINT fkstuscore FOREIGN KEY(sid) REFERENCES stu(id)
  • 11.表与表之间的关系

    • 多对多
    • 一对多
    • 一对一
  • 12.多表查询

    • 合并结果集

      • 作用:合并结果集就是把两个select语句的查询结果合并到一起
      • UNION:去除重复记录,例如:SELECT * FROM t1 UNION SELECT * FROM t2;
      • UNION ALL:不去除重复记录,例如:SELECT * FROM t1 UNION ALL SELECT * FROM t2。
      • 要求:被合并的两个结果:列数、列类型必须相同。
    • 连接查询
      • 使用主外键关系做为条件来去除无用信息
      • SELECT emp.ename,emp.sal,emp.comm,dept.dname FROM emp,dept WHERE emp.deptno=dept.deptno;可以指定要查询的列
    • 内连接
      • SELECT * FROM emp e INNER JOIN dept d ON e.deptno=d.deptno WHERE...;
    • 外连接
      • 查询出的结果存在不满足条件的可能。
      • SELECT * FROM emp e LEFT OUTER JOIN dept d ON e.deptno=d.deptno;
      • 左连接是先查询出左表(即以左表为主),然后查询右表,右表中满足条件的显示出来,不满足条件的显示NULL。同样也有右连接。
    • 自然连接:可以自然保留相同的
      • SELECT * FROM emp NATURAL JOIN dept;
    • 子查询
      • SELECT * FROM emp WHERE deptno=(SELECT deptno FORM emp WHERE ename='SCOTT');
      • 一个select语句中包含另一个完整的select语句
    • 自连接:自己连接自己,起别名
      • SELECT e1.empno , e1.ename,e2.mgr,e2.ename FROM emp e1, emp e2 WHERE e1.mgr = e2.empno AND e1.empno = 7369;
  • 13.MySQL的函数
  • 14.备份
    • 生成SQL脚本,导出数据;mysqldump –u用户名 –p密码 数据库名>生成的脚本文件路径
    • 执行SQL脚本,恢复数据;mysql –u用户名 –p密码 数据库<要执行脚本文件路径

09js、MySQL相关的更多相关文章

  1. 关于MySQL相关的查看显示信息:

    关于MySQL相关的查看显示信息: 数据库范围: 一.查看所有的数据库:(仅仅是看数据库数量与名字) mysql> show databases; 二.查看某个数据库的创建信息:(主要看数据库的 ...

  2. .NetCore关于Cap(RabbitMQ)结合MySql使用出现MySql相关类冲突问题解决办法

    问题还原 引用了 DotNetCore.CAP.MySql MySql.Data.EntityFrameworkCore 在使用MySql相关对象的时候会出现如下冲突,在命名空间加入伪空间名称是不能解 ...

  3. MySQL相关问题总结

    希望此贴能够将MySQL安装周围的问题总结清楚,也免得自己再遇到问题时而不知所措.本帖中所有关于MySQL的问题均涉及到两个平台:Ubuntu 和 Windows(本人没有Mac) 问题1:MySQL ...

  4. Linux下mysql相关操作

    Linux下mysql相关操作 1.创建MySQL mysql -u root -p create user 'username'@'%' identified by 'password'; %可以选 ...

  5. MySQL相关参数总结

    保留个原文链接,避免被爬虫爬了过去,以便后续更正补充:https://www.cnblogs.com/wy123/p/11273023.html MySQL参数繁多,是一个需要根据具体业务.软硬件环境 ...

  6. sql注入原理+mysql相关知识点

    什么是SQL注入 sql就是经常说的数据库,而sql注入就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.SQL注入是比较常见的网络攻击 ...

  7. visual studio 2015连接到MySql相关问题

    vs中使用服务器资源管理器连接到MySQL没有成功.按照网上提供的解决方法,相关插件已经安装: 1.控制面板中,MySQL Connector Net 6.9.9已经安装(原安装版本为6.9.8,后升 ...

  8. MySQL相关

    1.进入安装目录 cd E:\ZYXDocument\Software\mariadb-10.0.20-win32\bin 2.安装mysql服务将E:\ZYXDocument\Software\ma ...

  9. MySQL 相关

    Innodb引擎 Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别.该引擎还提供了行级锁和外键约束,它的设计目标是处理大容量数据库系统. 但是该引擎不支持FULLT ...

随机推荐

  1. C语言8大经典排序算法(2)

    二.插入类排序 插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止. 插入排序一般意义上有两 ...

  2. Explicit Interface Implementation (C# Programming Guide)

    https://msdn.microsoft.com/en-us/library/ms173157.aspx If a class implements two interfaces that con ...

  3. 【转载】limits.h

    limits.h专门用于检测整型数据数据类型的表达值范围. <limits.h>主要提供对整型和字符型范围的限制的宏,同样没有指定类型和函数的定义. 1.整型宏如下表: 2.字符型宏如下表 ...

  4. 【高德地图API】地理编码与逆地理编码

    一.地理编码 该功能实现地理编码服务,即地址匹配,从已知的地址描述到对应的经纬度坐标的转换,即根据地址信息,查询该地址所对应的点坐标等,地址(address) 为必选项,城市(city)为可选项. & ...

  5. 30. extjs getEl方法 怎么用

    转自:https://blog.csdn.net/evilcry2012/article/details/50586861 2014-10-27 11:57 提问者采纳   getEl = compo ...

  6. 3-4章 第3章 form表单组件与小程序前后端通信

    View它相当于是一个点击触发一个事件,但是它的事件应该是相对来说可能是比较是偏向于页面上的一些展示,或者说是页面上的一些导航的一些跳转.Button它是一个标签, button是一个标签,一般去触发 ...

  7. Avito Code Challenge 2018 A~E

    A. Antipalindrome 还以为是什么神dp结果就是分情况讨论啊 原串是一串一样的字符的话输出0,是回文串的话输出n-1,否则直接输出原串长度 #include<iostream> ...

  8. 网络连接详细信息出现两个自动配置ipv4地址的解决办法

    问题描述:网络连接详细信息出现两个自动配置ipv4地址,一个是有效地址,一个是无效地址. 解决办法: 先将本地连接ip设置成自动获取 点击开始——>运行——>输入cmd,回车,进入命令行界 ...

  9. [Usaco2007 Mar]Gold Balanced Lineup 平衡的队列

    Description N(1<=N<=100000)头牛,一共K(1<=K<=30)种特色,每头牛有多种特色,用二进制01表示它的特色ID.比如特色ID为13(1101),则 ...

  10. 292 Nim Game Nim游戏

    您和您的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 到 3 块石头. 拿掉最后一块石头的人就是胜利者.由您来开局.你们两个都是聪明人,相信都有最佳的游戏策略. 请编写一个函 ...