• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > MYSQL知识点总结分享

MYSQL知识点总结分享

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了MYSQL,知识点,分享等相关知识,希望本文的分享对您有所帮助

本文主要和大家分享MYSQL知识点总结,希望能帮助大家更好的掌握和使用mysql数据库。

数据库概述

Database:数据库,用于永久的存储数据的软件,海量存储、高效存取。
数据库软件的种类:

(1)网状数据库
(2)树形/层次型数据库
(3)关系型数据库(Relational DB)
(4)非关系型数据库(NoSQL)

RDBMS(RDB Management System)部署结构:
(1)服务器端:负责存储/管理数据,其中的数据都是二进制格式存储,人无法直接查看——如工商银行总行中的数据库服务器
(2)客户端:负责连接到服务器,向服务器发送增删改查指令——如ATM机

RDBMS服务器端数据的逻辑结构:
Server=>Database=>Table=>Row=>Column

mysqld、httpd、ftpd、sshd、smbd....
Demon:精灵、守护者、守护程序、精灵程序、服务器程序

MySQL系统的使用

(1)服务器端:下载并安装MySQL服务器软件

mysql.com
mariadb.org
xampp.org = Apache+MySQL+PHP

(2)服务器端:启动MySQL服务器软件

c:/xampp/mysql/bin/mysqld.exe
保证3306端口被打开

===========================
(3)客户端:下载并安装一款MySQL客户端软件

c:/xampp/mysql/bin/mysql.exe
作用相当于银行的ATM终端客户机

(4)客户端:提供用户名和密码,登录到数据库服务器上

mysql.exe   -uroot   -p       不能加分号!
mysql -uroot 不能加分号!

MySQL服务器常用的管理命令

提示:所有的管理命令都必须以;分号结尾!仅use和quit除外!
(1)quit; 退出到服务器的连接
(2)show databases; 显示当前服务器上所有的数据库
(3)use 库名; 进入/开始使用指定的数据库
(4)show tables; 显示当前数据库中有哪些表
(5)desc 表名; 描述一下指定表的列(描述表头)

常用的SQL命令

SQL:Structured Query Language,结构化查询语言,是一门编程语言。最早由IBM公司提出的,后来由ISO采纳为关系型数据库行业国际标准,先后推出了多个版本,如SQL87、SQL92、SQL99;目前各大数据库厂家所支持。

SQL语句的执行方式:
(1)交互模式:输入一行执行一行,....,适合于临时的查看数据。 mysql -uroot 回车
(2)脚本模式:把要执行的多条命令编写在一个文本文件中,一次性的提交给服务器执行,适合于批量反复执行的多条语句。 mysql -uroot < d:/xx.sql 回车

SQL语言的语法:
(1)所有的SQL语句必须以;分号结尾。
(2)SQL语句不区分大小写。习惯上,系统预定义的关键字都大写,非关键字都小写。
(3)SQL语句中可以使用 单行注释(#...) 和 多行注释(/.../)

DROP DATABASE IF EXISTS 库名;
CREATE DATABASE 库名 CHARSET=UTF8;
USE 库名;
CREATE TABLE 表名(列名 类型, 列名 类型, ....);
INSERT INTO 表名 VALUES(值, 值, ....);
SELECT * FROM 表名;

数据库中的乱码问题

产生的原因:计算机把每个字符都分配唯一个数字。若存字符时与取字符时所用的编码方案不同,就会产生乱码。

a <=> 97
b <=> 98
....

字符编码方案/字符集:把每个需要呈现的字符都分配一个唯一的数字编码。世界上有几套常用的字符集:
(1)ASCII字符集:只对所有的英文字符进行了编码(128个)
(2)GB2312/GBK:对常用的英文字符、中文简体字符都进行了编码(40000多个)
(3)BIG5:对常用的英文字符、中文繁体字符都进行了编码
(4)Unicode字符集:对常用的英文字符、简体汉字、繁体汉字、日文、韩文...主流语言的常用符号都进行了编码,具体存储时又分为UTF-8/UTF-16/UTF-32三种存储方案

解决乱码问题的方法——保证“三处统一”:
(1).sql文件的存储编码
(2)mysql.exe连接mysqld.exe所用的编码
(3)mysqld.exe中存储数据所用的编码

MySQL服务器端数据的逻辑结构:

SERVER=>DATABASE=>TABLE=>ROW=>COLUMN
如何连接到数据库服务器:
交互模式:mysql.exe -uroot -p
脚本模式:mysql.exe -uroot -p < d:/2.sql

常用的SQL语句:

(1)增:INSERT INTO 表 VALUES(值, 值, ...);
(2)删:DELETE FROM 表;
(3)改:UPDATE 表 SET 列=值, ...,列=值 ;
(4)查:SELECT * FROM 表;

DELETE FROM laptop; #删除所有的记录行
DELETE FROM laptop WHERE lid=10; #删除满足条件的记录行

UPDATE laptop
SET price='3000',pic='img/50.jpg',isOnsale='否'; #更新所有的记录行
UPDATE laptop
SET price='3000',pic='img/50.jpg',isOnsale='否'
WHERE lid=31; #更新满足条件的行

MySQL中的列类型

(1)数值类型 —— 可用引号括起来也可以不用

整数数值类型:   student(  age TINYINT  )
TINYINT:微整数,占1字节,-128~127
SMALLINT:小整数,占2字节,-32768~32767
INT:整数,占4个字节, -2147483648~2147483647
BIGINT:大整数,占8个字节,.....
小数数值类型: product( price DECIMAL(7, 4) )
FLOAT(M,D):单精度浮点型,占4字节,3.4E38,计算时可能产生四舍五入
DOUBLE(M,D):双精度浮点型,占8字节 1.8E30,计算时可能产生四舍五入
DECIMAL(M,D):定点小数,不会产生精度舍入
布尔数值类型: product( isOnsale BOOL)
BOOL,布尔/真假类型只能取值为TRUE/FALSE。注意:
MySQL数据库中没有真正意义上的布尔类型,TRUE等同于1,FALSE等同于0

(2)日期时间类型 —— 必须用引号括起来

DATE:日期类型,形如'2017-5-10'
TIME:时间类型,形如'22:08:5'
DATETIME:日期/时间类型,形如'2017-10-25 22:8:5'

(3)字符串类型 —— 必须用引号括起来 emp(resume ...)

CHAR(M):定长字符串,比VARCHAR操作速度更快,M不能超过255
VARCHAR(M):变长字符串,比CHAR更能节约空间,M不能超过65535
TEXT(M):大型变长字符串,M不能超过2G
ename CHAR(11) ename VARCHAR(11)

a a000 a0
ab ab00 ab0
abc abc0 abc0
abcd abcd abcd
abcde abcd abcd
一二三四 一二三四 一二三四
一二三四五 一二三四 一二三四

true 真 ture x
false 假 flase x

MySQL中的列约束

Constraint:约束,数据库中某列上的数据往往必须符合某种规范,如编号不能重复、年龄必须在一定范围、密码有长度限制、员工所在部门必须真的存在......类似的限制/规范就称为“列约束”
(1)主键约束 —— PRIMARY KEY

 声明为主键的列上,不能出现重复值,也不能出现NULL值,所有的记录会自动按照主键列上值由小到大
  


 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 分享下mysql各个主要版本之间的差异
  • MySQL essential版本和普通版本有什么区别?
  • redhat 5.4下安装MYSQL全过程
  • 如何用SQL命令查看Mysql数据库大小
  • 解析mysql中如何获得数据库的大小
  • 解析mysql修改为utf8后仍然有乱码的问题
  • 5个常用的MySQL数据库管理工具详细介绍
  • 解析在MySQL里创建外键时ERROR 1005的解决办法
  • 解析远程连接管理其他机器上的MYSQL数据库
  • mysql 精简过程(删除一些文件)

相关文章

  • 2017-05-11VPS下修改MySQL root用户密码的方法
  • 2017-05-11深入mysql存储过程中表名使用参数传入的详解
  • 2017-08-07mysql数据库根据datetime数据查询某一时间区间的数据数量
  • 2017-05-11mysqldump加-w参数备份数据时需要注意的事项
  • 2018-12-05SQL 判断字段类型语句
  • 2018-12-05Mysql一次死锁排查过程的全纪录分享
  • 2018-12-05压缩技术给SQL Server备份文件瘦身
  • 2017-05-11mysql存储过程事务管理简析
  • 2018-12-05解决SQL Server的“此数据库没有有效所有者”问题
  • 2017-05-11MySQL查询倒数第二条记录实现方法

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • Oracle存储过程之数据库中获取数据实例_Oracle应用_脚本之家
    • MySQL中myisam转innodb的实例教程
    • Oracle系统表外键的更名
    • 解决ubuntu16.04安装mysql5.7.17登录时出现ERROR 1045 (28000)的问题(图)
    • 关于mysql数据库格式化简单介绍
    • SQL Server字符串切割函数
    • 一条SQL语句搞定Sql2000 分页
    • 如何用MATLAB读取数据库Mysql文件?
    • 【MySQL 10】游标
    • SQLServer2005 Output子句获取刚插入的ID值

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有