6.1 KiB
数据库的链接与创建
先看下如何连接数据库,安装完成之后,用windows键 就是徽标键 + r键,打开运行,输入cmd然后回车
然后输入mysql -uroot -p ,然后回车
然后输入你安装时候输入的密码,然后回车
这样就连接到数据库了
查看所有数据库
之前说了,mysql中有数据库与数据表,数据库中包含着数据表。
那么如何查看现在存在的数据库呢?
show databases;
使用上面的命令可以查看当前存在的数据库。
注意,每条语句后面必须跟;结尾,而且保证是英文的分号
每个刚安装好的mysql都会有自带的这四个数据库,一般我们不会修改他们,之后用到的时候在进行解释,如果随便修改他们会造成一些意料之外的事情。
所以我们如何创建我们自己的数据库呢?
create database demo;
上面的命令是创建了一个名字为demo的数据库
那么名字是怎么定义的呢?
create database 这里就是数据库的名字;
比如我们要创建一个叫school的数据库,就应该使用
create database school;
那么我们运行create database demo;之后,再次查看数据库会怎么样?
发现数据库列表多了一个demo
我们执行下create database school;会怎么样呢?
school数据库也出现了。
所以这就是创建数据库的方法。
数据库创建好了,那么如何创建表呢?
之前说了,表是存在于数据库里面的,我们创建的时候应该指定要在哪个数据库中创建,就是新建文件一样,我们需要打开要新建文件的文件夹。
所以如何打开数据库呢?
use 数据库名;
使用use来选择要操作的数据库。
比如我们要在school数据库里面创建一个class的表,那么我们就应该先使用use来选择school这个数据库
use school;
使用use之后会出现Database changed 就是数据库已经选择了,可以进行之后的操作了。
那么先查看一下有没有数据表,因为是新建立的数据库,所以应该是空白的。
那么如何查看呢?
show tables;
并没有出现什么,因为最初创建的数据库是空白的,我们应该新建一个表。
如何创建一个表呢,是跟创建数据库一样直接create table 表名;吗?
并不是,介绍的时候有说到,数据表包含
- 表名
- 表字段名
- 字段类型
- 约束等等
类型
那么我们先看一下类型。
MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。
数值是 int float double等 字符串是 varchar char text等 日期时间是 date datetime等
下面详细介绍一下,
int 是整数,可以存放一些整数的值 比如 123 2345 这种整数等 范围是(-2 147 483 648,2 147 483 647) float 是小数,是存放小数的,可以存放小数 比如 3.14 2.345 等等 可以有6 - 7 位的准确值 double 是双精度小数型,也是存放小数 但是精准度比float好,可以保证 15 - 16 为准确性 data 是存放日期的,格式为YYYY-MM-DD,例如 2020-02-02 2021-04-29 等等 datatime 存放日期时间的 格式为YYYY-MM-DD HH:MM:SS 例如 2020-02-02 02:02:02 就是年-月-日 时:分:秒 char 定长字符串,定义的时候需要传入长度,char(10) 定义一个长度为10的字符类型 varchar 变长字符串,与char一样,但是有一些区别,在下面解释
char 与 varchar
-
char类型时定长的类型,即当定义的是char(10),输入的是"abc"这三个字符时,它们占的空间一样是10个字节,包括7个空字节。当输入的字符长度超过指定的数时,char会截取超出的字符。而且,当存储char值时,MySQL是自动删除输入字符串末尾的空格。
-
char是适合存储很短的、一般固定长度的字符串。例如,char非常适合存储密码的MD5值,因为这是一个定长的值。对于非常短的列,char比varchar在存储空间上也更有效率。
-
varchar(n)类型用于存储可变长的,比如varchar(10), 然后输入abc三个字符,那么实际存储大小为3个字节。
-
所以,从空间上考虑,varcahr较合适;从效率上考虑,用char合适。二者之间需要权衡。
创建数据表
那么如何简单的创建一个表呢?
create table 表名(字段 类型,字段 类型,.....);
例如,我们要创建一个下面样式的表
我们先考虑一下名字与类型,因为数据库中不能用中文作为字段名,所以我们需要给起一个英文名
- 姓名 name 类型是 varchar 长度给10 因为名字是字符串 并且没有人会有10个字的名字,可能会有5个6个.
- 性别 sex 类型是varchar 长度给2 性别一般是男 女 未知,在一般项目中可能会用数字代替。
- 年龄 age 类型 int
那么我们接下来创建这个表,表名就叫class
create table class(name varchar(10),sex varchar(2),age int);
执行一下
完成了,然后再查看一下当前数据库的表
已经可以看到我们创建的class了
下节就是数据的增删改查了。










