通常情况下,我们都是通过mysql.exe(客户端),连接mysql服务的。
但是有个问题。
(资料图片)
第一个问题就是太丑了。第二个问题是因为这不会自动提示啊…,早都习惯了各种自动提示工具,在用这么Low的下一步下一步就可以了!!!
管理员运行PatchNavicat
打开之后,游览到安装Navicat for MySQL的目录,完成即可。
连接好之后,点击查询,再点击新建查询,就可以写SQL了。
需要先理清一个概念,Mysql不是数据库。
我们连接的是Mysql服务,不是数据库
所以当别人听到连接数据库时,其实指的是连接跑起来的Mysql服务。
数据库可以理解为文件夹。
通过show DATABASES;命令查看自己下面有哪些数据库。
再切换到
同样可以发现有这个几个文件夹。
如果再
再通过show DATABASES;命令查看当前有哪些数据库,可以发现确实多了刚才新建文件夹(数据库)。
所以就得出了一个结论,数据库其实就是一个文件夹。
那数据库相当于文件夹,那数据库里面放的,就是数据表了。
表内容
其实会发现,数据表跟Excel很相似。
那Excel有啥数据表也有啥。
通常都是表头(蓝色框),表内容(红色框)。
数据库就是一个个文件夹
数据表是不能单独存在的,需要放在数据库中,xlsx举例使用。
而数据库又分表头,表内容,行,列。
命令
show DATABASES;
结果
使用数据库的意思就是。
数据库其实就是一个个文件夹,使用数据库就是进入这个数据库,相当于进入到这个文件夹里里面。
命令
use <数据库名字>;# 例如 use 进入mysql这个数据库,
在日常使用中,要操作哪个数据库里面的表,一定要use 这个数据库。
命令
CREATE DATABASE <数据库名称> DEFAULT CHARSET utf8 COLLATE utf8_general_ci;# 示例,创建一个school数据库CREATE DATABASE school DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
执行结果
DROP <数据库名称># 示例,删除 school 数据库DROP school
记得一定要use 数据库,进入数据库才能操作表。
格式
create table 表名( 列名 列类型 [其他参数1 其他参数2 ...], 列名 列类型 [其他参数1 其他参数2 ...]...)ENGINE=InnoDB DEFAULT CHARSET=utf8
其他参数包括有
是否可以为空not null — 不可空null — 可空默认值defalut 2 — 默认2自增自增一般用在id上,并且只能有一个自增列,插入时不需要管这个列,会自动添加值。auto_increment — 自增— 虽然自增加这一个关键字就行了,但是由于主键是不能为空的,所以要配合其他关键字not null auto_increment primary key主键主键,一种特殊的唯一索引,不允许有空值。如果主键使用单个列,则它的值必须唯一。如果是多列,则其组合必须唯一。…primary key(nid,num)外键constraint fk_cc foreign key (color_id) references color(nid)其他参数一一对应上就行了。
创建一个老师表
create table teacher( id int not null auto_increment PRIMARY key, teacher_name varchar(16) not null)ENGINE=InnoDB DEFAULT CHARSET=utf8
命令
show TABLES;
结果
drop table <表名>
delete from <表名>truncate table <表名>
其实这章讲的还是比较简单的,在使用Mysql时,一定要注意一个问题,就是sql后面一定要加一个;
这章主要讲的是数据库的操作和数据表的操作。
敬往事一杯酒,自此不再回头。