MySql基本学习知识点:
1.Mysql的简介:
(1):常识:
|
(2):基本安装信息:
|
(3):安装mysql错误操作:
·手动删除mysql安装目录 ·重新运行配置向导MySQLInstanceConfig.exe ·删除C:\ProgramData\MySQL目录 |
2.Mysql命令:
(1).连接数据库:
|
(2).修改密码:
(3).添加新用户:
(4.1).创建数据库:
|
(4.2).显示数据库:
|
(4.3).删除数据库:
|
(4.4).连接数据库:
|
(4.5).当前选择的数据库:
|
(5.1).创建数据表:
命令:create table <表名> ( <字段名1> 例如,建立一个名为MyClass的表,
|
(5.2).删除数据表:
|
(5.3).表插入数据:
|
(5.4).查询表中的数据:
|
(5.5).删除表中的数据:
命令:delete from 表名 where 表达式 |
(5.6).修改表中数据:
|
(5.7).增加字段:
|
(5.8).修改表名:
|
(6).备份数据库:
|
(7).一个建库和建表的实例:
|
3.数据类型
· 数值类型:
|
4.SQL语句语法:
数据操纵语言针对表中的数据,而数据定义语言针对数据库或表 |
create database school; /*创建数据库*/ show databases; /*显示所有数据库select database()*/ use school; /*指定默认数据库*/ create table student( /*创建表*/ id int(10) primary key name varchar(8), sex char(1), score float(6,2) ); show tables; /* 显示指定表结构show columns describe student; show create table student; /*显示建表sql语句*/ drop table student; drop database school; |
insert into student values("张三", "t",87.5); insert into student values(null,"张三","t",87.5); //insert into student (name,sex,score) select * from student; insert into student values(null,"李四","男",89); alter table student modify sex char(2); insert into student values(null,"李四","男",89); select * from student; update student set sex ="女"; select * from student; update student set sex="男" where id=1; select * from student; update select * from student; delete from student where name="王五"; select * from student; delete from student; select * from student; |
|
alter table stu drop birthday; |
create table person( id int primary key, name varchar(6), sex char(2), age insert into person values(1,"张三","男",45); insert into person values(2,"李四","男",32); insert into person values(3,"王五","女",32); create table pet( id name varchar(6), masterid int, primary key(id), constraint fk foreign key (masterid) ); |
limit是每页显示的条数. |
5.导入导出:
|
6.mysql数据库的内连接与外连接的区别:
内连接指的是把表连接时表与表之间匹配的数据行查询出来,就是两张表之间数据行匹配时,要同时满足ON语句后面的条件才行。 左连接的意思是,无论是否符合ON语句后面的表连接条件都会把左边那张表的记录全部查询出来,右边的那张表只匹配符合条件的数据行。右连接则与之相反(这里同样OUTER 可以省略 |
7.MySql的事务处理:
MySQL 事务MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!
一般来说,事务是必须满足4个条件(ACID)::原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。
在 MySQL 命令行的默认设置下,事务都是自动提交的,即执行 SQL 语句后就会马上执行 COMMIT 操作。因此要显式地开启一个事务务须使用命令 BEGIN 或 START TRANSACTION,或者执行命令 SET AUTOCOMMIT=0,用来禁止使用当前会话的自动提交。 事务控制语句:
MYSQL 事务处理主要有两种方法:1、用 BEGIN, ROLLBACK, COMMIT来实现
2、直接用 SET 来改变 MySQL 的自动提交模式:
|
数据库事务隔离级别 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、Read committed 、Repeatable read 、Serializable ,这四个级别可以逐个解决脏读 、不可重复读 、幻读 这几类问题。 √: 可能出现 ×: 不会出现
注意:我们讨论隔离级别的场景,主要是在多个事务并发 的情况下,因此,接下来的讲解都围绕事务并发。 Read
|
8.MySql数据库索引:
|
9.MySql注入:
所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。 我们永远不要信任用户的输入,我们必须认定用户输入的数据都是不安全的,我们都需要对用户输入的数据进行过滤处理。 |
防止SQL注入,我们需要注意以下几个要点: 1.永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和 双"-"进行转换等。 2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。 3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。 4.不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。 5.应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装 6.sql注入的检测方法一般采取辅助软件或网站平台来检测,软件一般采用sql注入检测工具jsky,网站平台就有亿思网站安全平台检测工具。MDCSOFT |
应对方法: 1.mysql_escape_string() 转义特殊字符((PHP 4 下列字符受影响: \x00 //对应于ascii字符的NULL \n //换行符且回到下一行的最前端 \r //换行符 \ //转义符 ' " \x1a 如果成功,则该函数返回被转义的字符串。如果失败,则返回 false。 2.addslashes(): 函数返回在预定义字符之前添加反斜杠的字符串 预定义的字符有: 单引号(') 双引号(") 反斜杠(\) NULL 3.prepared statements(预处理机制) |
MySql基本学习知识点:的更多相关文章
- Java编程学习知识点分享 入门必看
Java编程学习知识点分享 入门必看 阿尔法颜色组成(alpha color component):颜色组成用来描述颜色的透明度或不透明度.阿尔法组成越高,颜色越不透明. API:应用编程接口.针对软 ...
- MySQL事务学习-->隔离级别
MySQL事务学习-->隔离级别 6 事务的隔离级别 设置的目的 在数据库操作中,为了有效保证并发读取数据的正确性,提出的事务隔离级别. 数据库是要被广大客户所共享访问的,那么在数据库操作过程中 ...
- MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Mysql事件学习
出自:http://blog.chinaunix.net/uid-20639775-id-3323098.html Mysql事件学习 在系统管理或者数据库管理中,经常要周期性的执行某一个命令或者SQ ...
- Mysql数据库学习笔记之数据库索引(index)
什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...
- MySQL数据库学习: 01 —— 数据库的概述
壹 概述 一 了解SQL 1.1 数据库基础 1.1.1 什么是数据库 数据库(database)保存有组织的数据的容器(通常是一个文件或一组文件). 易混淆:人们常常用“数据库”这个词语来代表他们使 ...
- 一个很好的MySQL在线学习平台
一个很好的MySQL在线学习平台 https://www.techonthenet.com/sql/
随机推荐
- grub覆盖mbr引导系统
grub覆盖mbr引导系统 0.个人PC,WIN 7 + Kali,easybcd 不起作用,需要制作 kali 安装盘 PS:推荐使用 universal usb installer 制作. 方案一 ...
- Hibernate之mappedBy与@JoinColumn
@JoinColumn所在实体是关系拥有方,name即拥有方对应表到参考表的外键名称. @mappedBy所在实体是关系的被拥有方,value值owner中表示被拥有类的属性. 在单向关系中不需要设置 ...
- 【洛谷十月月测】 P3927 SAC E#1 - 一道中档题 Factorial
题目传送门:https://www.luogu.org/problemnew/show/P3927 题目大意:给你两个正整数n,k,求n!在k进制下末尾零的数量. 我们通过简单的数学分析,便可以发现, ...
- A Node Influence Based Label Propagation Algorithm for Community detection in networks 文章算法实现的疑问
这是我最近看到的一篇论文,思路还是很清晰的,就是改进的LPA算法.改进的地方在两个方面: (1)结合K-shell算法计算量了节点重重要度NI(node importance),标签更新顺序则按照NI ...
- OSS和CDN配置使用
Oss和cdn目的就是: 1 把资源文件和程序分开存储 2 可以通过cdn缓存加速 下面介绍阿里云OSS和CDN如何配制 一 阿里云开通子RAM账户 1 不使用主账号访问OSS,需要创建子RA ...
- 数据?算法-> which is important?
谷歌的强不是强在 PageRank 算法,而在于它是第一个在排名时把链接——而不只是文字和标题——考虑进去的.又以自己教的数据挖掘课为例.他让学生以 Netflix 用户对一万八千多部电影的打分为基础 ...
- Java之IO(五)文件系统
转载请注明源出处:http://www.cnblogs.com/lighten/p/6992043.html 1.前言 在讲解Java的文件流之前,先来认识一下Java的文件系统的实现.值得一提的是, ...
- C# 基元类型
C#编程中,初始化一个整数有两种方式: (1).较繁琐的方法,代码如下: Int32 a = new Int32(); (2).极简的方法,代码如下: ; 对比两种方法,分析如下: 第一种:过于繁琐, ...
- Spring Boot的listener简单使用
监听器(Listener)的注册方法和 Servlet 一样,有两种方式:代码注册或者注解注册 1.代码注册方式 通过代码方式注入过滤器 @Bean public ServletListene ...
- [转]MVC HtmlHelper用法大全
原文链接:http://www.cnblogs.com/jyan/archive/2012/07/23/2604474.html HtmlHelper用来在视图中呈现 HTML 控件. 以下列表显示了 ...