欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql数据库基础知识学习

程序员文章站 2022-08-06 18:23:16
一、mysql简介 mysql是一种开放源代码的关系型数据库管理(rdbms),mysql数据库系统使用最常用的数据库管理语言–结构化查询语言(sql)进行数据库管理...

一、mysql简介

mysql是一种开放源代码的关系型数据库管理(rdbms),mysql数据库系统使用最常用的数据库管理语言–结构化查询语言(sql)进行数据库管理。

由于mysql是开放源代码的,因此任何人都可以在general public license的许可下下载并根据个性化的需要对其进行修改。mysql因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,mysql是管理内容最好的选择。

mysql这个名字,起源不是很明确。一个比较有影响的说法是,基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,mysql ab创始人之一的monty widenius的女儿也叫my。这两个到底是哪一个给出了mysql这个名字至今依然是个迷,包括开发者在内也不知道。

mysql的海豚标志的名字叫“sakila”,它是由mysql ab的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者ambrose twebaze提供。根据ambrose所说,sakila来自一种叫siswati的斯威士兰方言,也是在ambrose的家乡乌干达附近的坦桑尼亚的arusha的一个小镇的名字。

mysql,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。它的历史也富有传奇性。

二、基本命令

对数据库的操作

1、查看所有的数据库

show databases;

2、切换数据库

use 数据库名称;

3、创建数据库

create database 数据库名;

4、删除数据库

drop database 数据库名;

5、修改数据库编码

alter database 数据库名 character set utf8;

6、显示数据库的编码格式

show create database 数据库名

对表的操作

1、首先介绍一下sql语言中的数据类型

a、int 整型

b、double 使用格式double(5,2)

c、decimal 浮点型 主要使用在金融行业(例如手机支付等)使用格式decimal(5,2)这是一种二进制运算无差错

的数据类型

d、char 固定长度字符串类型,使用格式char(x)x的最大取值是255,这里的255等数字表示的是字节数目

e、varchar 可变长度字符串类型 使用格式varchar(x),x的最大取值是65535,对于可变长字符串类型,需要使用

一部分空间来记录本类型的长度,存在浪费

举例: 2014-12-12 22:10:12 假如存储这个字符串的时候,这个字符串长度为19,那么使用char(20)就足够

但是假如使用varchar(20)的话,可能由于要使用一部分空间来存储数据,导致不能将整个字符串存储下来

f、text 字符串类型,表示大字符串,细分为四种:tinytext test mediumtext longtest

g、bolb 字节类型,表示大字节,同样分为四种

h、date 日期类型,格式为:yyyy-mm-dd

i、time 时间类型,格式为:hh:mm:ss

j、timestamp 时间戳类型 格式为:年月日+时分秒+毫秒

2、查看表结构

desc 表名称;

3、创建表

create table 表名称(列名称 列类型,列名称 列类型,列名称 列类型,。。。。。)在最后一个列的后面没有逗号

4、查看数据库中所有的表名称

show tables;

5、删除表

drop table 表名称;

6、修改表

a、添加列 alter table 表名称 add(列名 列类型,列名 列类型,列名 列类型,。。。。。);

b、修改列类型 alter table 表名称 modify 列名 新列类型;

c、修改列名和列类型 alter table 表名称 change 老列名 新列名 列类型;(列类型可以是新的类型也可以是老的类型

若为老类型则表示只更改了列名称)

d、删除列 alter table 表名称 drop 列名称;

e、修改表名称 alter table 表名 rename to 新表名称;

主要针对表记录操作

a、插入记录

insert into 表名称 (列名称,列名称,列名称。。。) values(列值,列值,列值。。。。);

当想要插入整条数据的时候,前面部分的列名称列表可以不写,只在后面给值即可

insert into 表名称 values(列值,列值,。。。,列值); 这个时候值得顺序要和数据表中定义的列的顺序一致

注意事项:1、日期型数据和字符型数据必须使用单引号括起来

2、插入空值有两种方式:a、不指定值 b、设置values为null

3、未插入的列的值使用null补充

4、进行insert操作的时候前后两个部分的顺序要一致,包括数据类型和数据顺序

b、修改表记录

普通修改

update 表名称 set 列名称=列值,列名称=列值,列名称=列值。。。。;

注释:在没有添加条件的时候,会默认修改对应列名称下面的所有记录为上面的列值,这是不合理的

有条件修改,用于局部的修改,根据条件进行修改

update 表名称 set 列名称=列值,列名称=列值。。。[where 条件];

注释:条件一般是结果为boolean类型数据

c、删除表记录

delete from 表名称 [where 条件];

查询

select *from 表名