MySQL的初步使用


title: MySQL的使用
tags: MySQL
date:2018-1-4


MySQL的使用
MySQL数据库服务,是一个后台进程;
连接登录本地mysql服务器
一、登录本地
格式:mysql -u用户名 -p 回车输入密码
eg:mysql -uroot -p
二、远程登录(超级管理员默认不允许远程登录)
格式:mysql -u用户名 -p -h ip地址 -P端口号 回车输入密码
eg:mysql -uroot -p -h127.0.0.1 -P3306
查看所有的数据库

show databases;

进入数据库: use 库名

use test;

查看库内的表

show tables;

退出客户端、断开与服务器间的连接

\q
exit

创建可以远程登录MySQL用户
“用户名+ip地址”来标识
1)创建用户
格式:create user ‘用户名’@’ip地址’ identified by’密码’;
eg:create user 'zero'@'176.255.131.%' identified by'123456';
2)对用户授权
格式:grant 权限 on 数据库.库中的表 to ‘用户名’@’ip地址’;
eg: grant all privileges on *.* to 'zero'@'176.255.131.%';
3)查看用户表

use mysql;
select * from user;

4)删除用户
格式:drop user ‘用户名’@’ip地址’;
eg:

drop user 'zero'@'176.255.131.%';
drop user 'zero'@'176.255.131.173';

库管理
创建库
格式:create database 库名 charset=字符编码;
eg:create database db1 charset=utf8;
查看库
show databases;
use 库名;
show tables;
修改库
对数据库只能够修改他的默认字符编码
格式:alter database 库名 charset=字符编码;
ega:alter database db1 charset=gbk;
删除库
注意:删除数据库,会把库内的所有数据表全部删除,且不可恢复;
格式: drop database 库名;
eg:drop database db1;

数据表
创建表
格式:
create table 表名(
字段名1 类型,
字段名2 类型,
字段名3 类型,
字段名4 类型,
字段名5 类型,

)[engine=引擎名] [charset=字符编码];
eg:

create table tb1(
            id int,
            name varchar(20),
            money decimal(8,2)
        )engine=innodb charset=utf8;

查看表
1)查看表

show tables;

2)查看表结构
desc 表名;
eg: desc tb1;
3)查看表创建过程
show create table 表名\G;
eg: show create table tb1;
删除表
格式:drop table 表名;
eg: drop table tb1;
截断表(重建表)
先删除,再重建,数据全部清空,且不可恢复
格式: truncate table 表名;
eg: truncate table tb1;
修改表
1)修改表名
格式:rename table 旧表名 to 新表名;
eg: rename table tb1 to tb2;
2)修改表的参数(引擎、字符编码)
格式:alter table 表名 [engne=引擎名] [charset=字符编码];
eg:alter table tb2 engne=mysiam charset=gbk;
3)修改表字段
3.1)添加字段
3.1.1)first –加到最前面
格式: alter table 表名 add 字段名 字段类型 first;
eg:alter table tb2 add gender varchar(2) first;
3.1.2)after –指定加到那个字段之后
格式: alter table 表名 add 字段名 字段类型 after 表中字段名;
eg:alter table tb2 add height int after name;
3.1.3)添加多个字段
格式:alter table 表名 add(
字段名1 字段类型,
字段名2 字段类型,

)[first][after 表中字段];
eg:

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

3.2)修改字段名
格式: alter table 表名 change 原字段名 新字段名 新类型;
eg: alter table tb2 change gender sex varchar(4);
3.3)修改字段类型
格式:alter table 表名 modify 字段名 新类型;
eg:alter table tb2 modify height decimal(3,2);
3.4)修改字段位置
格式:alter table 表名 modify 字段名 类型 after 字段名;
eg:alter table tb2 modify sex varchar(4) after name;
eg:alter table tb2 modify name varchar(20) first;
3.5)删除字段
整列数据会被删除,且不可恢复;
格式:alter table 表名 drop column 字段名;
eg: alter table tb2 drop column weight;

一张表中的字段的字节量总合,不超过65535个字节
int 4个字节
double 8个字节
varchar
如果长度小于等于255,前面有一个字节,表示字节长度
如果长度大于255,前面有两个字节,表示字节长度
如果表中字段,只要有允许 null 值得字段,那么需要有额外的一个字节来表示
sql
结构化的查询语言
用来访问数据库
DDL –数据定义语言,建库见表
DML –数据操作语言,增删改
DQL –数据查询语言,select
insert 插入数据
格式: insert into 表名 values(值1,值2…);

eg:

drop database if exists test01;
        create database test01 charset=utf8;
        use test01;
        create table users(
            id int(10),
            name varchar(20),
            password varchar(20)
        );
        insert into users values(001,'小飞','1abc56');

eg:

insert into users values
        (003,'小玉','12w456'),
        (002,'小马','12a556'),
        (004,'小牛','133456'),
        (005,'小羊','143456'),
        (006,'小丑','123459');

update 修改数据
格式: update 表名 set 字段1=新值1,字段2=新值2…where 逻辑表达式;
eg:update users set name=’小新’ where id=5;
eg:update users set name=’小龙’,password=’1245’ where id=4;
delecte 删除数据
格式:delecte from 表名 where 逻辑表达式;
eg: delete from users where id=3;
select 查询数据
格式:select * from 表名;
eg: select * from users;
格式:select 字段1,字段2… from 表名
eg: select id,username from users;

数据库存储引擎
innodb
默认推荐引擎,支持事务、支持外键,提供行级锁
磁盘上存储: 表名.frm 保存表结构
表名.ibd 保存数据、索引
myisam
不支持事务、不支持外键,数据访问效率更高,只提供表级锁
磁盘上存储: 表名.frm 保存表结构
表名.MYD 保存数据
表名.MYD 保存索引
memory内存表

你可能感兴趣的:(MySQL)