mysql数据库

目录

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 tb2 add

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 table tb2

modify sex  char(1);

6.3.6    修改字段顺序

l  first

l  after

 

alter table tb2

modify email 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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值