Mysql01服务器概述、数据库服务器、创建数据库、创建数据表

版权声明:转载请注明出处https://blog.csdn.net/tomhavenocat https://blog.csdn.net/TomHaveNoCat/article/details/83273853

Mysql数据库 day01

数据库
 存储数据
 MySQL、oracle、sql server、db2、sqlite…
 关系型数据库
 数据以表格形式存放
 No sql

Mysql
 开源免费数据库
 在互联网领域,是最常用的数据库
 被 sun 以10亿美金收购,一年后,sun被oracle收购
 Mysql被oracle收购后,存在闭源风险
 各大开源社区,已经不再支持mysql
 Mysql的创始人,继续开发一个mysql 的分支版本,mariadb
 开源社区都转向支持mariadb的开发
 阿里投资maradb 3000万
 阿里把自己开发的数据库新功能,免费贡献给 mariadb

下载安装mysql
 Mysql有收费版本,也有免费开源的社区版本
 下载开源社区版
 安装 mysql或mariadb都可以

Mysql使用
 Mysql数据库服务,是一个后台进程
 使用客户端来连接mysql
 Mysql命令行客户端:mysql
mysql -uroot -p –h192.168.121.90 –P3306(这是登录别人的服务器时用的)
 Mysql官方窗口客户端:workbench
 Navicat、sqlyog、mysqlfront…

Mysql命令行客户端
 连接、登录mysql服务器
mysql –uroot –p 登录本机服务器

 退出客户端,断开与服务器的连接
 exit
 \q
显示数据库列表
 show databases;
 show schemas;

 schema -就是数据库
进入数据库
 use test;

查看数据库中数据表的列表
 show tables;

mysql用户
 mysql用户由“用户名+ip地址”来标识
创建用户
create user ‘root’@’192.168.121.%’ identified by ‘1234’
对用户授权
grant all privileges on . to ‘root’@’192.168.121.%’

  用户表
               use   mysql;                 进入mysql库
               select * from user;                   查系统用户表数据
               select * from user\G        纵向查看结果
  删除用户
               drop user ‘用户名’@’主机地址’

库管理
创建库
create database 库名 charset=utf8;
查看库
show databases;
show schemas;
use db1

  修改库

 对数据库只能修改它的默认字符编码
alter database db1 charset gbk;
.
删除库
 删除数据库,会把内容所有数据表全部删除,且不可恢复
drop database db1;

数据表
创建表
create table tb1(
id int,
name varchar(20),
money decimal(8,2)
) engine=innodb charset=utf8;
查看表
show tables;

               desc   tb1;
               

               show  create  table  tb1\G

  删除表

 删除表不可恢复(三思而后行)
drop table tb1;
截断表(重建表)
 先删除,再重建,数据不可恢复
truncate table tb1;
修改表
修改表名rename table A to B
rename table tb1 to tb2;
修改表的参数(引擎、编码)
alter table tb2
engine=myisam charset=gbk;
添加字段
 first - 加到最前面
 after - 指定加到哪个字段之后
alter table tb2
add gender varchar(4) first;

alter table tb2
add height int after name;

alter table tb2 add(
weight int,
tel varchar(20)
);

desc tb2;
show create table tb2\G
修改字段名
alter table tb2
change gender sex varchar(4);(注意change与modify之间的区别)
修改字段类型
alter table tb2
modify height decimal(3,2);
修改字段位置
alter table tb2
modify sex varchar(4) after name;

                        alter  table  tb2 
                        modify  name  varchar(20)  first;
       删除字段

 整列数据会被删除,不可恢复
alter table tb2
drop column weight;(删除weight列)

字段字节量总合,不超过65535个字节
create table tb3(
id int, – 4字节
price double, – 8字节
name varchar(65520) – 65520+2
)charset=latin1;

     create  table  tb4(
               id  int  not  null,               --  4字节
               price  double  not  null,      --  8字节
               name  varchar(65521)  not  null        --  65521+2

)charset=latin1;
(注意:如果有空字符的话也算一个字节)
create table tb5(
id int not null, – 4字节
price double not null, – 8字节
s tinyint not null, – 1字节
name varchar(21840) not null – 21840*3+2
) charset=utf8;

 varchar类型
 如果长度小于等于255,前面有一个字节,表示字节长度
 如果长度大于255,前面有两个字节,表示字节长度
 如果表中字段,只要有允许 null 值的字段,那么需要有额外的一个字节来表示

sql
 结构化的查询语言
 用来访问数据库
 DDL(database definition language) - 数据定义语言,建库建表
 DML(database manipulation language) - 数据操作语言,增删改
 DQL (data query language) - 数据查询语言,select

Insert插入数据
insert into 表 values(值1, 值2…)
update修改数据
update 表 set 字段1=值1, 字段2=值2, 字段3=值3 where ……
delete删除
delete from 表 where ……
select查询
select * from 表
select 字段1, 字段2, 字段3 from 表

数据库存储引擎

 innodb

 默认推荐引擎
 支持事务
 支持外键
 提供行级锁
 表文件:
 tb1.frm 保存表结构
 tb1.ibd 保存数据、索引

 myisam

 不支持事务
 不支持外键
 数据访问效率更高
 只提供表级锁
 表文件:
 tb2.frm 保存表结构
 tb2.MYD 保存数据
 tb2.MYI 保存索引数据

 memory 内存表

 …

猜你喜欢

转载自blog.csdn.net/TomHaveNoCat/article/details/83273853