mysql数据库
来源:互联网 发布:什么是编程环境 编辑:程序博客网 时间:2024/06/06 00:45
目录
Mysql day01
1 数据库
2 Mysql
3 Mysql客户端
3.1 命令行客户端登录mysql
3.2 查看数据库
3.3 进入数据库
3.4 查看数据库中的数据表
3.5 退出客户端
3.6 环境变量 path中添加bin目录路径
3.7 客户端的中文编码
4 创建可远程登录的用户
5 Mysql数据库管理
5.1 新建数据库
5.2 查看数据库
5.3 修改数据库
5.4 删除数据库
6 Mysql表管理
6.1 创建表
6.2 查看表
6.3 修改表
6.3.1 改表名
6.3.2 改表属性
6.3.3 添加字段
6.3.4 修改字段名
6.3.5 修改字段属性
6.3.6 修改字段顺序
6.3.7 删除字段
6.4 删除表
7 存储引擎
8 Mysql增删改查
8.1 插入数据
8.2 查询数据
8.3 修改数据
8.4 删除数据
9 京淘建表
Mysql day01
1 数据库
用来存储数据
常用的数据库:
l Oracle
l Mysql
l DB2
l Sybase
l SqlServer
l Sqlite
l Redis
l MongoDB
l ...
2 Mysql
创始人将Mysql公司10亿美金卖给sun公司,一年多后,Oracle收购了sun公司.
Oracle收购mysql后,增加了收费版mysql,开源版mysql开发进度变慢,开源社区认为mysql存在闭源风险,已经不再支持mysql.
创始人从mysql新开了一个新的分支mariaDB,继续开发,mariaDB完全兼容mysql,开源社区转向支持mariaDB,阿里也投资mariaDB,向mariaDB贡献代码.
3 Mysql客户端
Mysql是服务器软件,需要客户端从远程连接服务器.
l Mysql命令行客户端
l Mysql官方Workbench窗口客户端
l 第三方窗口客户端:Navicat, Sql Yog, Sql Front ...
3.1 命令行客户端登录mysql
开始à cmd进入命令行
切换到 mysql\bin目录
cd C:\Program Files\MariaDB 5.5\bin
mysql -uroot -p -hxxx.xx.xx.xx -P3306
l -u用户名
l -p用密码登录
l -h服务器ip 本机可以省略
l -P端口号 本机可以省略
3.2 查看数据库
show databases;
show schemas;
3.3 进入数据库
use mysql;
use test;
use information_schema;
3.4 查看数据库中的数据表
show tables;
3.5 退出客户端
quit;
\q
3.6 环境变量 path中添加bin目录路径
右键点计算机à属性à高级系统设置à环境变量
在path中添加mysql安装路径下bin目录路径
3.7 客户端的中文编码
如果中文出现乱码,需要告诉服务器,客户端使用的是什么字符集,服务器得到客户端字符后,可以做正确的转码
set names gbk;
4 创建可远程登录的用户
Mysql用户用"用户名+ip地址"来标识
例如:
root@localhost 本机
root@127.0.0.1 本机
root@192.168.7.50 固定机器
root@192.168.7.% 指定的网段
root@% 任意地址
对用户授权
设置用户可以访问的库,表,字段,是否运行执行一些操作,比如建库,建表,增删改查...
*) grant select,insert,update,delete on test.* to 'abc'@'%'
*) grant create,alter,drop on db1.* to 'abc'@'localhost'
*) grant all privileges on *.* to 'abc'@'%'
*) grant select,insert on db1.t1 to 'abc'@'%'
*) grant select(id, name) on db1.t1 to 'abc'@'%
创建可远程连接的用户
create user
'root'@'192.168.7.%'
identified by 'root';-- 指定密码
用户授权
grant all privileges -- 所有权限
on *.* -- 所有库所有表
to 'root'@'192.168.7.%'; -- 指定用户
登录远程mysql服务器
mysql -uroot -p–h192.168.7.xx -P3306
5 Mysql数据库管理
5.1 新建数据库
create database db1;
create database db1 charset gbk;
create database db1 charset utf8;
字符集
l iso-8859-1
英文,西欧字符
单字节
l gbk
国标码
中文双字节,默认按拼音排序
l utf8
unicode的传输格式
中文三字节,默认按笔画排序
建库
create database db1 charset utf8;
5.2 查看数据库
库列表
show databases;
显示建库语句
show create database db1;
5.3 修改数据库
对数据库只能修改字符集
alter database db1 charset gbk;
5.4 删除数据库
删除数据库是危险操作,不可恢复,应该先进行备份
drop database db1;
6 Mysql表管理
6.1 创建表
create database db1 charset utf8;
use db1;
create table tb1 (
id int,
name varchar(20),
age int
)engine=innodb charset=utf8;
6.2 查看表
show tables;
desc tb1;
描述表,查看表结构
show create table tb1\G
查看建表语句, \G纵向显示结果
6.3 修改表
6.3.1 改表名
rename table tb1 to tb2;
6.3.2 改表属性
alter table tb2
engine=myisam charset=gbk;
6.3.3 添加字段
添加字段时指定位置:
l first
l after
alter table tb2add
gender varchar(2)after name;
alter table tb2 add(
birth date,
height decimal(3, 2),
email varchar(100)
);
6.3.4 修改字段名
alter table tb2
change gender sexvarchar(2);
6.3.5 修改字段属性
类型,约束,默认值...
alter tabletb2
modifysex char(1);
6.3.6 修改字段顺序
l first
l after
alter table tb2
modifyemail varchar(100) after name;
6.3.7 删除字段
删除字段是危险操作,必须备份
alter table tb2
drop height;
6.4 删除表
删除表是危险操作,必须备份
drop table tb2;
7 存储引擎
Mysql支持多种数据表存储引擎,不同引擎数据存储方式,支持的数据访问功能不同
常用引擎是innodb(默认)和myisam,
l innodb
支持事务
外键
行级锁
数据表文件:
tb2.frm 表的结构文件
tb2.ibd 存储表中的数据及索引
l myisam
不支持事务
不支持外键
表级锁
数据表文件:
tb2.frm 表结构
tb2.MYD 存储在表中的数据
tb2.MYI 索引数据
c:\programfiles\mariadb\data\
c:\programData\mysql\data\
Linux
/var/lib/mysql/
8 Mysql增删改查
8.1 插入数据
insert into tb2 values(值1,值2,值3...);
测试数据插入
use db1;
-- 新建 tb3表
create table tb3(
id int,
name varchar(50),
price decimal(8,2)
)engine=innodb charset=utf8;
-- 向表中插入数据
insert into tb3
values(12, '华为Mate 10', 4899);
insert into tb3
values(45, 'iPhone X',7299);
insert into tb3
values(8, 'vivo 12',3199);
-- 查询显示数据
select * from tb3;
8.2 查询数据
select* from tb3;
8.3 修改数据
set names gbk;-- windows命令行是gbk
update tb3 set
name='华为Mate 10',price=2899
where id=12;
select * from tb3;
8.4 删除数据
delete from tb3 where id=45;
select * from tb3;
9 京淘建表
创建数据库
create database jtdb
charset utf8;
show databases;
use jtdb;
创建商品表 tb_item
create table tb_item(
id bigint(20),
cid bigint(10),
brand varchar(50),
model varchar(50),
title varchar(100),
sell_point varchar(500),
price bigint,
num int(10),
barcode varchar(30),
image varchar(500),
status tinyint(4),
created datetime,
updated datetime
)engine=innodb charset=utf8;
show tables;
desc tb_item;
show create tabletb_item\G
商品详情表 tb_item_desc
create tabletb_item_desc(
item_id bigint(20),
item_desc text,
created datetime,
updated datetime
)engine=innodb charset=utf8;
show tables;
desc tb_item_desc;
show create table tb_item_desc\G
分类表 tb_item_cat
create tabletb_item_cat(
id bigint(20),
parent_id bigint(20),
name varchar(50),
status tinyint(1),
sort_order int(4),
is_parent tinyint(1),
created datetime,
updated datetime
)engine=innodb charset=utf8;
show tables;
desc tb_item_cat;
show create table tb_item_cat\G
- mysql 数据库
- MYSQL数据库
- mysql数据库
- mysql数据库
- mysql数据库
- MySql数据库
- 数据库:MySQL
- mysql 数据库
- Mysql数据库。。
- MySQL数据库
- MySql 数据库
- mysql数据库
- Mysql数据库
- mysql数据库
- MySQL数据库
- mysql数据库
- MySql数据库
- MySQL数据库
- 个人理解:尾调用与递归
- 网站优化的关键技术:页面静态化和缓存
- 17、ES6 圆括号的问题
- 非线性误差计算
- 【工厂模式】工厂方法和抽象工厂模式
- mysql数据库
- 死锁
- LeetCode String to Integer (atoi)
- 2017 后端面试经历分享
- JS闭包
- 【计算机视觉】【神经网络与深度学习】深度学习在图像超分辨率重建中的应用
- 目录——Web第三阶段:Javascript
- es6新特性之generator
- Codeforce 868 C Qualification Rounds (计数原理)