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 -ph192.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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击