ctrl + c 终止

[linux]

service mysql start 启动mysql

service mysql stop 停止mysql

service mysql restart 重启mysql

[windows] 以超级管理员的身份进行操作

net start mysql 启动mysql

net stop mysql 停止mysql

### part1

mysql客户端 登录 mysql服务器

(1)登录本地的mysql 默认 root 是最高权限用户

mysql -uroot -p

-u 指定用户

-p 指定密码

-h 指定ip

(2) 退出

exit 或者 \q

(3) 登录远程mysql服务器

mysql -uroot -h192.168.75.128 -p

### part2

mysql 设置密码

查询当前登录的用户是谁

select user();

设置密码

set password = password("123456")

去除密码

set password = password("");

### part3

mysql 创建账户 (单纯的创建账户,没有任何权限)

create user 'ceshi01'@'192.168.75.1' identified by '111'; # 给具体ip设置账户

create user 'ceshi02'@'192.168.75.%' identified by '222'; # 指定某个网段设置账户

create user 'ceshi03'@'%'; # 所有的ip都能依靠这个账户连接到数据库

mysql -uceshi02 -h192.168.75.128 -p

查看用户权限

show grants for 'ceshi02'@'192.168.75.%'

GRANT USAGE ON . TO 'ceshi02'@'192.168.75.%' # USAGE 没有任何权限

grant授权完整语法:

grant 权限 on 数据库.表名 to '用户名'%'ip地址' identified by '密码';

"""

select 查询数据权限

insert 插入数据权限

update 更新数据权限

delete 删除数据权限

"""

* 代表所有

grant select,delete on . to 'ceshi02'@'192.168.75.%' identified by '666';

查看所有数据库

show databases

移除权限

revoke select on . from 'ceshi02'@'192.168.75.%'

删除账户

drop user 'ceshi02'@'192.168.75.%'

刷新权限

flush privileges

### part 4

"""

linux /var/lib/mysql 存放着数据库等相关文件

find / -name db1 找到对应的路径

但是有权限的限制,需要切换到root用户才能够操作;

"""

SQL 语句:

1.操作[数据库] (文件夹)

增:

# 创建数据库db1,设置字符集utf8

create database db1 charset utf8;

查:

# 查看数据库

show databases;

# 查看数据库建库语句

show create database db1;



#更改数据库字符集

alter database db1 charset gbk;



# 删除数据库db2

drop database db2;

2.操作[数据表] (文件)

选择数据库

use 数据库名称

增:

int 整型 char 字符串

# 创建数据表t1(字段名1 类型1, 字段名2 类型2)

create table t1(id int,name char);



# 查看所有数据表

show tables;

# 查看建表语句

show create table t1;

show create table t1\G

"""

CREATE TABLE t2 (

id int(11) DEFAULT NULL,

name char(1) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8

"""

# 查看表结构

desc t1;



# modify 只改变数据类型

alter table t1 modify name char(6);

# change 联名带数据同时改变

alter table t1 change name NAME char(7);

# 改回去

alter table t1 change NAME name char(6);

# add 添加字段

alter table t1 add age int;

# drop 删除字段 column 列

alter table t1 drop column age;

# 更改表名

alter table t1 rename t999;



# 删除表t1

drop table t999

3.操作记录 (文件内容)

NULL <==> None 等价

增:

# 一次插一条t1(字段名1,字段名2,字段名3,.......) values(对号入座)

insert into t1(id,name) values(1,"xboy1");

# 一次插多条

insert into t1(id,name) values(2,"xboy2"),(3,"xboy3"),(4,"xboy4"),(5,"xboy5");

# 不指定具体字段,把所有的字段值都插入一遍

insert into t1 values(6,'xboy6');

# 可以只指定1个字段插入

insert into t1(id) values(99);

查:

select id,name from t1;

select * from t1

# 不指定数据库的时查询方法

select * from db1.t1

改:

# update 表名 set 字段=值 where 条件

update t1 set name = '王文'; # 所有数据都改了

update t1 set name = "好男人" where id = 3

删:

# 删除id为1的这一条数据

delete from t1 where id = 1;

# 删除所有

delete from t1;

# 清空数据,重置自增id (速度更快)

truncate table t1;

### part 5

常用的数据类型:

整型

tinyint 1个字节 有符号(-128 ~ 127) 无符号 (0 ~ 255) 小整型值

int 4个字节 有符号(-21亿 ~ 21亿) 无符号(0 ~42亿) 大整型值 , 精度更高

create table t1(id int , sex tinyint);

create table t11(id int unsigned , sex tinyint);

insert into t11 values(4200000000,128) error
insert into t11 values(4200000000,127)

浮点型:

float(255,30) 单精度

double(255,30) 双精度

decimal(65,30) 一般用于表达金钱类型,是使用字符串的形式保存的小数

create table t2(f1 float(5,2) , f2 double(5,2) , f3 decimal(5,2));
insert into t2 values(1.234,1.234,1.234); # decimal 默认保留整数部分,double默认保留的小数为比float更多,精度更高,float默认小数保留5位,存在四舍五入
create table t3(f1 float,f2 double,f3 decimal);
insert into t3 values(1.235555555555555555555,1.235555555555555555555666666666666666666666666666666666,1.699995555555555555555555);

字符串:

char(11) 定长:固定开辟11个长度的空间 (手机号,身份号) 速度快

varchar(11) 变长:最大开辟字符长度为11的空间 (文章评论 5~255 个评论字数) 相较于char速度慢

text 这种类型专门用于存储文章,论文,小说.

create table t4(c char(11),v varchar(11),t text);

insert into t4 values('1122' , 'dddff' , "sdfsdfsdfsdfssadfsadf1")

select concat(c,v,t) from t4;

select concat(c,":",t) from t4;

枚举 % 集合

enum 和 set 的数据类型,必须从中进行挑选

enum 枚举 从一组数据中选一个(性别)

set 集合 从一组数据中选多个,自动去重

create table t5(
id int,
name varchar(15),
money float(6,2),
sex enum("man","woman"),
hobby set("eat","drink","piao","du","smoke")
) insert into t5(id,name,money,sex,hobby) values(1,'liyi',9999.1,"woman","piao,du");
insert into t5(id,name,money,sex,hobby) values(1,'liyi',9999.1,"woman","piao,piao,piao,du");

mysql 的内置函数

concat(参数1,参数2,参数3 ........) 把所有的参数拼接在一起

### 目的:配置linux中的文件my.cnf

找: find / -name my.cnf

结果如下:

!includedir /etc/mysql/conf.d/

!includedir /etc/mysql/mysql.conf.d/

cd /etc/mysql/conf.d/ => mysql.cnf

nano mysql.cnf [mysql]

把下面的代码写入客户端中

[mysql]

设置mysql客户端默认字符集

default-character-set=utf8

cd /etc/mysql/mysql.conf.d/ => mysql.cnf

nano mysql.cnf [mysqld]

把下面的配置写到文件中

服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

重启

service mysql restart

最新文章

  1. [转]CSS 类名的单词连字符:下划线还是横杠?
  2. JQuery实现列表中复选框全选反选功能封装
  3. svn 设置
  4. Xcode代码格式化教程,可自定义样式
  5. java登陆验证码与JS无刷新验证
  6. JQuery插件datatables相关api
  7. Python数据分析之路(一)查询和统计
  8. MYSQL创建数据库时候直接指定编码和排序规则
  9. 「2017 山东三轮集训 Day1」Flair
  10. 内嵌圆角CSS实现
  11. Centos7中离线安装DockerCE最新版
  12. [摘录] 图灵机与lambda演算的关系
  13. 20175317 《Java程序设计》第二周学习总结
  14. Spring 核心API
  15. 【C】——实现tree命令
  16. Beta冲刺——day7
  17. VS2013 添加 ILDasm
  18. linux文件系统命令(6)---touch和mkdir
  19. Eclipse中在android项目中出现新建一个Activity后,出现整个project的报错以及包导入以后无法执行等等情况分析。
  20. Uncaught TypeError: Cannot set property &#39;value&#39; of null

热门文章

  1. IE8下Extjs报缺少&#39;:&#39;符号错误
  2. 前后端对称加密(AES)
  3. Android 设备唯一标识(多种实现方案)
  4. mybatis代理机制讲解
  5. Linux下搭建.NetCore3.0环境及创建项目
  6. Phpstudy隐藏后门
  7. MIT线性代数:11.矩阵空间、秩1矩阵和小世界图
  8. 基于node的前端项目代码包发布至nexus
  9. [模板]tarjan——最后通牒
  10. day 2 上午 消失之物 背包