1 两种打开mysql 的方法
(1)navicat 开源绿色 解压直接可以使用,代码开源。
win+R 运行模式+cmd 在黑框中输入net start mysql 即可开始运行,同理net stop mysql 可以终于运行 。
(2)在此电脑右键 ——> 管理——>服务和应用程序——>服务,早服务下选择MySQL57并启动此时状态由自动变为手动。
2 MySQL的本质:数据库服务器
服务器分类:硬件服务器和软件服
软件服务器 :应用服务器 数据库服务器
服务器按照结构分为:刀片服务器 塔式服务器 机架服务器
3 客户端:navicate 使用
与数据库服务器 mysql相对应的还有客户端navicate
navicat 链接新建一个链接 链接名随意
主机名或IP地址:127.0.0.1或者写localhost(链接本地)
主机名:不是用户名是主机名:此电脑中可以更改,可以借此链接别人的电脑
端口号:默认3306,mysql服务器的专属 端口号用于别人访问他或是他访问别人
IP地址只可以一次访问电脑的一个软件,不同的端口可以同时访问多个软件
用户名:默认root,
密码:安装mysql 时设置的密码
4 数据库:存储数据的仓库
数据库是专门存储,查询数据的软件,是文件系统,通过sql语句进行增删改查
DBA:数据库管理维护人员(职位,可以考,OCA【普通】OCP【专家】7000员报名费OCM【大师级】2W报名费),甲骨文数 据库 按照CPU数目授权收费,存储很多数据而性能不会降低,不直接从事软件开发仅了解即可 软件开发,可仅了解
MYSQL:是一个软件 数据库管理系统:可以创建很多个数据库、每个数据库会包含很多表
(注意: mysql /performence/ information这几个是系统自带的库不可更改)
数据库表之间的关系:默认安装到C盘:每张表都会有两个文件.idb .frm
常见数据库:MySQL 免费 开源 小型数据库 公司常用塔式,刀片式 U:规定服务器高度 5400为电脑,10000为服务器转速
Oracle:收费大型数据库 超贵
即
SQLServer:公司收费中型 财务软件
Navicate :管理工具
用户:找到电脑里所有的用户 @前是用户名:@后是地址
host:允许访问的主机名,%:允许所有的电脑访问
5 SQL语言:SQL语言分为四类:
1 DDL数据库定义语言:增删改查
2 DQL数据库查询语言
3 DML数据库操作语言
4 DCL数据库控制语言数据库管理员使用
SQL语言不区分大小写 建议关键字大写
多多注释 /* */(多行) 或是--或是#(单行)
使用客户端MSQL时需要
1设置updata 为手动 属性
2启动MySQL,设置MySQL57为手动
创建数据库:工具-命令列界面
1 create database 数据库名称 ;
charset utf8;设置字符集
2 右键-新建数据库 选择字符类型[utf-8mb4]
记得刷新和回车键
查看显示所有数据库信息: show databases;(注意最后一个S必须加上)
删除数据库信息:drop database 数据库名称;
修改数据库信息: alter database 数据库名 charset 字符集;
数据类型的选择:
tinyInt:很小整型 float
smallint:小整型 double
mediumint:中等整型 ....
int(integer):普通整型
char 0-255间的整数 varchar 0-65535间的整数
数据操纵语言DML:创建数据表 修改数据表 删除数据表
例如:存储学生信息:
学生编号stu_no 学生姓名stu_name 性别gender 年龄age 成绩score
表名:student
创建表 (在无标题@lessen local查询界面): create table 表名(
定义: stu_no char(11) not null primary key;括号内为定义的长度/若不可为空加not null/primary key 主键不能重复的重要字段
stu_name varchar(50) not null;
gender tinyint(1) not null default ;设置默认值为1
age tinyint(1) ;
scare tinyint(1) 最后一个不需要分号
);
若表名创建不成功有可能是表名是关键字 比如order
主键:主键在表中必须存在,确定数据的唯一性
ID表示方式:1.自增 在行末加上 auto increament
2.UUID 32位16进制的数字
3.自定义ID的生成方式
//假设创建一 名叫teacher的表
create table teacher(
id int(10) not null auto increament,
t_name varchar(50) not null,
gender tinyint(1) not null,
course varchar(50)
);
外键: foreign key:指这个表的量是另一个表的主键,两个信息的数据类型等一定是相同的
这个信息在另一个表里必须存在否则无法录入
添加字段:
alter table 表名teacher add t_no varchar(7) unique not null;
默认为空字符串而非null
删除字段:
alter table teacher drop t_no;
表名重命名:
rename 旧表名 to 新表名 ;(或是右键重命名)
修改字段的数据类型,长度,字段名。约束信息等
alter table teacher t_no char(7) ;
删除表:
drop table 表名;
要区别数据库的修改和数据表的修改
数据的修改:
增删改(查很复杂单独看)
添加数据:insert into 表名(字段1,字段2,字段3。。。) (值1,值2.。。。),201 values(值1,值2,。。。);
(当需要列出每一个字段时,可以是省略字段列表,若有字符串类型的则需要‘ ’引号)
修改数据:update 表名 set 字段1=值1,字段2=值2。。。where 条件字段N=值N
(一般修改数据是通过主键或者唯一索引来修改的,一般主键添加后是不需要修改的,eg学生编号)
update student set stu_name='小明',gender=1 where syu_no=20170809;
(依靠where后的主键或是唯一字段来查询要修改的位置)
删除数据:delete from 表名 where 条件字段1=值1 ;
(delete删除数据不会释放内存空间或是存储空间,若不加where则删除整个表,若想释放空间:1使用 truncate table 表名;(只留下表结构)
2使用 drop table 表名;(连表结构都会全部删掉)