`

mysql基础知识

    博客分类:
  • DB
阅读更多
 

 

SQL: structured query language 结构化查询语言

 

 

下载地址:(windos/linux环境下的安装文件)

http://downloads.skysql.com/archive/index/p/mysql/v/5.0.96

 

安装文档 见附件: MySQL安装图解.doc

      作为自学,安装时一路next,到设置数据库语言的时候,设置为utf-8即可,细节见附件文档。

 

参考手册 见附件: MySQL_5.1_zh.chm

 

一些说明:

a) mysql 内可以创建多个数据库,这个和oracle不同(只能有一个);

b) mysql 是数据库服务器(数据库管理程序),不是一个数据库,我们利用这个服务器(工具)可以创建多个数据库,在利用这个服务器(工具)在指定数据库内创建表,下图是这三者关系:

 

 

常用数据类型:

 

分类 数据类型 说明
数值类型

bit,

boolean

tinyint(对应java的byte)

smallint(对应java的short),

int,

bigint(对应java的long)

float,

double

 
文本、二进制类型

char   最大255

varchar(20) --->最大长度为20,长度根据里面存储的内容长度而动态改变  

                          最大255

BLOB (二进制大对象 LOB(对象 eg 图片) )

 

TEXT(eg:txt文件里面的内容)         

LONGTEXT(longclob)   比如存放帖子内容

1 VARCHAR

BLOB

TEXT 是变长类型

 

2 每个类型的存储需求取决于列值的实际长度

时间日期

DATE (YYYY-MM-DD

DATETIME ((YYYY-MM-DD HH:MM:SS

TimeStamp  当前这一刻的时间数,

 

 

 

 

 

 

常用表/字段操作命令:

 

1 创建一个使用utf-8字符集的mydb2数据库  :  create database zmdb character set utf8;  (这里utf-8需要写成 utf8)

2 显示所有数据库 : show databases;

3 显示创建数据库的详细信息:  show create database  mydb; 



 

4 删除数据库:  drop database  mydb;

5 修改mydb的字符集:  alter database mydb character set gb2312;

6 创建表: 

 

create table employee

(

id int,

name varchar(40),

sex varchar(8),

birthday date,

entry_date date,

job varchar(20),

salary double,

resume text

)character set utf8 ;   创建表 并设置编码格式、

 

7 修改表的名称: rename table employee to employee2;

8 修改表的字符集: alter table  employee character set utf8;

9 表中增加列: alter table employee add image blob;

10 修改列的长度:  ALTER TABLE employee MODIFY COLUMN image VARCHAR(40);

11 修改列的名称: ALTER TABLE employee CHANGE COLUMN image images VARCHAR(20);

12 删除列:  ALTER TABLE employee DROP COLUMN images;

 

 

 

 如下是mysql CRUD(create read update delete)命令:

 

 1 insert:

    a) 插入数据时, 字符和日期类型应该放在单引号内

    b) 插入字段中不包含列的话,那么此列在数据库中的数值为Null'

    c) inseret into tablename(字段1,字段2....) values (value1,value2...); 建议这种写法,方便自己和别人查询

 

2 update/delete,建议在执行时,先写where 条件, 然后在完善 update/delete语句,防止表数据全部被操作。

将所有员工薪水修改为5000元。

update employee set salary=5000;

删除表中名称为’李一’的记录

delete from employee where name='李一';

 

3 truncate语句: 删除表

       truncate table employee;  和  delete from employee;  的区别:

 

  a)  前者删除时操作流程--> 0 记住表结构 1 摧毁表 2 在新建表

  b) 后者是一条条的删除表中的记录,效率低于前者

 

4 select 详解

 

 where子句用于过滤,常跟着运算符进行过滤,

 where子句中常用的运算符如下:

比较运算符

>   <   <=   >=   =    <>

 

BETWEEN  ...AND...

 
IN

显示在in列表中的值,例:in(100,200)

LIKE % 代表零个或多个任意字符,_ 代表一个字符
is null  

逻辑运算符

and  
or  
not  
order by 子句用于查询排序, Asc表示升序,Desc表示降序,默认不写的情况下为Asc;
 
group by 子句:
   a) 用于分组
    b)常和having组合在一起捆绑使用-->having和where是一个功能,只不过比where可以多跟合计函数,
    eg: 查询购物车中订单超过100元的商品
    select product from orders group by(product) having sum(product) > 100  错误写法 :     select product from orders group by(product)  where sum(product) > 100
 
 
 
 
5 合计函数:
   a) count(列名) ---> 用于统计总个数 eg: SELECT COUNT(*) FROM `employee`;
   b) sum(列名) ---> 用于计算求和 eg: SELECT SUM(`chinese`) FROM `student`;
   c) avg(列名) ---> 用于计算平均值 eg: SELECT AVG(`chinese`) FROM `student`;
   d) max/min(列名) ---> 用于计算最大/最小值 eg: SELECT MAX(`chinese`) FROM `student`;
 
6 日期相关函数:
ADDTIME (date2 ,time_interval ) 将time_interval加到date2
CURRENT_DATE (  ) 当前日期
CURRENT_TIME (  )

当前时间

eg: SELECT CURRENT_TIME (  )  13:34:19

CURRENT_TIMESTAMP (  )

当前时间戳

eg: SELECT CURRENT_TIMESTAMP (  )

2014-06-03 13:34:19

DATE (datetime ) 返回datetime的日期部分
DATE_ADD (date2 , INTERVAL d_value d_type ) 在date2中加上日期或时间
DATE_SUB (date2 , INTERVAL d_value d_type ) 在date2上减去一个时间
DATEDIFF (date1 ,date2 ) 两个日期差
NOW (  ) 当前时间
YEAR|Month|DATE (datetime )

年|月|日 eg:SELECT  YEAR( CURRENT_DATE (  ))

 2014


 字符串相关函数:

 

CHARSET(str) 返回字串字符集 SELECT CHARSET("111");
CONCAT (string2  [,... ]) 连接字串  
INSTR (string ,substring ) 返回substring在string中出现的位置,没有返回0  
UCASE (string2 ) 转换成大写  
LCASE (string2 ) 转换成小写  
LEFT (string2 ,length ) 从string2中的左边起取length个字符  
LENGTH (string ) string长度  
REPLACE (str ,search_str ,replace_str ) 在str中用replace_str替换search_str  
STRCMP (string1 ,string2 ) 逐字符比较两字串大小,  
SUBSTRING (str , position  [,length ]) 从str的position开始,取length个字符  
LTRIM (string2 ) RTRIM (string2 ) 去除前端空格或后端空格  

 

 

 数学相关函数:

 

ABS (number2 ) 绝对值 案例待补充
BIN (decimal_number ) 十进制转二进制  
CEILING (number2 ) 向上取整  
FLOOR (number2 ) 向下取整  
CONV(number2,from_base,to_base) 进制转换  
FORMAT (number,decimal_places ) 保留小数位数  
HEX (DecimalNumber ) 转十六进制  
LEAST (number , number2  [,..]) 求最小值  
MOD (numerator ,denominator ) 求余  
     

 

 定义表的约束:

定义主键约束
  primary key:不允许为空,不允许重复
删除主键:alter table tablename drop primary key ;
定义主键自动增长
  auto_increment
定义唯一约束
  unique
定义非空约束
  not null
定义外键约束
constraint ordersid_FK foreign key(ordersid) references orders(id),

 

 

推荐一个不错的mysql客户端软件   SQLyog-9.2.0-2Community

  • 大小: 20.6 KB
  • 大小: 25.8 KB
分享到:
评论

相关推荐

    mysql基础知识和mysql优化整理

    一、MySQL基础知识 1. 数据库与表:MySQL中的数据库是一个逻辑存储单元,用于组织相关数据。表是数据库中的基本元素,由列和行构成,用来存储具体的数据。 2. 数据类型:MySQL支持多种数据类型,如整数类型...

    MYSQL基础知识-学习笔记

    这份"MYSQL基础知识-学习笔记"涵盖了对MySQL的初步介绍以及基础概念,是初学者入门的理想资源。 首先,我们从MySQL的简介开始。MySQL是由瑞典的MySQL AB公司开发的,后被甲骨文公司收购。它是一款开源、免费的...

    MySQL基础知识总结.pdf

    以上是对MySQL基础知识的总结,涵盖了数据库管理系统的各个方面,从基础的数据类型到复杂的查询语句和事务处理,再到数据库的日常管理和性能优化。掌握这些知识对于在IT行业中进行数据库开发和管理是必不可少的。

    MySQL 基础知识的总结

    本文将深入探讨MySQL的基础知识,包括安装、数据类型、表的创建、查询语句、索引以及事务处理等核心概念。 1. **安装与配置** MySQL的安装过程通常包括下载适合操作系统的安装包,按照向导进行安装,然后配置...

    mysql基础知识小结

    mysql参考手册重点章节:5 6 7 8 10 11 13 14 15 ## mysql启动方法: ## mysql关闭方法: ## mysql登陆方法:(单、多实例,本地、远程登录) ## 修改mysql提示符 ## 修改密码 ## root密码丢失找回 ## SQL结构化...

    mysql基础知识培训

    MySQL 基础知识培训涵盖了从数据库的基本概念到实际安装和管理操作的多个方面。MySQL 是一款广泛应用的关系型数据库管理系统,特别适合于中小型企业及个人网站的开发,因其开源、免费且性能优秀的特点,常与 PHP、...

    MySQL基础知识.md

    # MySQL基础知识笔记 ## 创建表 * 数据类型 |数据类型|大小(字节)|用途|格式| |:------|:--------:|:--:|:--:| |INT|4|整数|| |FLOAT|4|单精度浮点数|| |DOUBLE|8|双精度浮点数|| |ENUM||单选,比如性别|...

    数据库Mysql基础知识总结

    **数据库MySQL基础知识总结** 在IT领域,MySQL是一个广泛使用的开源关系型数据库管理系统,以其高效、稳定和易用性而备受青睐。以下是对MySQL基础知识的详细总结: ### 1. MySQL基本概念 - **数据库(Database)*...

    mysql基础知识2.zip

    这个名为"mysql基础知识2.zip"的压缩包文件显然包含了关于MySQL基础概念、操作和管理的一些教学材料或教程。接下来,我们将深入探讨MySQL的基础知识。 1. **数据库和表的概念**:在MySQL中,数据库是一个组织数据的...

    mysql基础知识 1.zip

    本压缩包“mysql基础知识 1.zip”显然包含了关于MySQL的基础教程或资料,旨在帮助初学者理解并掌握MySQL的基本概念、操作和使用。 1. **MySQL概述** MySQL是一个快速、可靠且可移植的SQL数据库服务器,它由瑞典的...

    mysql基础知识详解,完整ppt

    这份"mysql基础知识详解,完整ppt"提供了全面的学习资源,帮助初学者和教学者快速掌握MySQL的核心概念。以下是对这份PPT中可能涵盖的知识点的详细解读: 1. **MySQL简介**:MySQL是一个开源、免费的数据库系统,它...

    超详细mysql基础知识思维导图

    超详细mysql基础知识思维导图

    MySql基础知识总结

    在日常开发中,了解这些MySQL基础知识是必不可少的。通过持续学习和实践,你可以掌握更高级的概念,如视图、存储过程、触发器,甚至性能优化和集群部署。无论你是初学者还是经验丰富的开发者,不断深入研究MySQL将有...

    mysql基础知识.pdf

    MySQL 基础知识 MySQL 是一种关系型数据库管理系统,建立在关系模型上的数据库系统。关系模型将实体(学生)和实体的属性(学生的学号、姓名)保存到数据库中,并规定数据结构,设置数据之间的关系。 MySQL 的...

    MySQL基础知识复习

    MySQL基础知识复习

    MySQL基础知识.docx

    前端开发者了解后端的MySQL基础知识对于前后端协作至关重要。 首先,我们来看看数据库的存储方式。数据库通常以特定的文件形式存储在本地磁盘或者远程服务器上,也可以存在于内存中以实现高速访问。对于云服务,...

    快速入门MYSQL基础知识.rar

    这份"快速入门MYSQL基础知识"的资料将引导你逐步了解和掌握MySQL的基础知识,包括安装与配置、数据类型、数据库设计、SQL语句、索引、存储引擎、备份与恢复等方面。 1. **MySQL安装与配置**:首先,你需要在你的...

    快速入门MYSQL基础知识.pdf

    ### 快速入门MYSQL基础知识 #### 一、MySQL简介与安装 MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),因其性能稳定、安全性高、易于使用等特点而受到广大开发者的青睐。对于计算机专业的学生来说,掌握...

    MySQL基础知识点111

    MySQL基础知识点111

Global site tag (gtag.js) - Google Analytics