MySQL 知识点语句整理

连接:

  1. 文件夹【数据库】
    文件 【表】
    数据行【行】
  2. 默认用户:root
    创建用户
create user 'one'@'192.168.1.1' identified by '123456';#创建用户名为one的用户,可以在192.168.1.1的IP地址登陆,密码为123456
create user 'one'@'192.168.%' identified by '123456';#前缀为192.168.的地址都可以登陆
create user 'one'@'%' identified by '123456';#所有地址都可以登陆

**授权:**权限->人

grant select,insert,update on data.* to one;#将查看、增加、修改的权限赋予用户 one

MYSQL语句操作规则

1.操作文件夹(db1)

1.1 创建文件夹

create database db1;

1.1.1 (创建一个utf-8格式(可以使用中文)的文件夹)

create database db1 default charset utf8;

1.2 查看所有文件夹

show databases;

1.3 删除文件夹

drop database db1;

2.操作文件(t1)

2.1 先进入/使用文件夹

use db1;

2.2 显示/查看此文件夹中的文件

show tables;

2.3 创建文件(创建文件 t1 ,第一列列名为 id,类型为整型;第二列列名为name,类型为字符串,只能有10个字符)

create table t1(
	#列名 类型 null/not null/ default 1(表示是否可以为空/默认为1,为空则可以在插入数据时忽略此列)
	id int,
	name char(10)
);
create table t2(
	id int auto_increment primary key,#auto_increment表示这一列往下数据自增,可以作为唯一标识;primary key表示 1.约束(不能重复且不能为空)2.加速查找    ///一个表里面只能有一个auto_increment 和 primary key,且他俩相互绑定
	name char(10) not null,#不能为空
	sex char(5) not null default 1,#不能为空,默认为1
	contact int null #可以为空
);

2.3.1 创建utf-8格式的文件

create table t1(id int,name char(10)) default charset=utf8;

2.3.2 创建的文件支持事务/回滚(如转账操作,转账中断电,一方已经扣款,一方没有收到款,这时会发生错误,加入引擎就可以避免错误)创建文件时加入引擎
innodb 支持事务(原子性操作)
myisam 支持全局索引/存储速度更快

create table t1(
	id int,
	name char(10)
) engine=innodb default charset=utf8;

2.4 清空文件

delete from t1;#清空文件,保留属性
truncate table t1;#清空文件,删除属性

2.5 删除文件

drop table t1;

3.操作文件中的内容

3.1 查看某个文件中的全部数据

select * from t1;

3.2 向文件里面添加/插入数据(向文件 t1 的 id 列插入数据 1,向 name 列插入数据 egon)

insert into t1(id,name) values(1,'egon');

3.3 删除数据

delete from t1 where id<6;#按要求删除id小于6的数据

3.4 修改数据

update t1 set age=18;#将文件t1里的age这一列全部修改为18
update t1 set age=18 where age=17;#将文件t1里的age等于17的数据全部修改为18

基本数据类型

  1. 数字:
    整形:tinyint int bigint
    浮点小数:FLOAT DOUBLE(这两个不准确)
    decimal(准确,底层以字符串记录)
  2. 字符串
    char(10)#不足10位自动补足,速度快 varchar(10)#不足10位不补足,节省空间
    #最长都是255个字符
    创建数据表时定长的列往前放
    text

如果是图片、视频或者大型文件,不用将其放在数据库中,只需将其存放路径放于数据库中即可

  1. 时间类型
    DATE:Y-M-D(2020-06-28)
    TIME:H:M:S
    YEAR:Y(2020)
    ***DATETIME:Y-M-D H:M:S(2020-06-28 12:21:36)

  2. 枚举类型:enum

CREATE TABLE shirts (
	name VARCHAR(40) ,
	size ENUM('x-small'' small', ' medium',' large'' X- large ')
);
insert inot shirts (name,size) values (' asdfasdf', 'large')
#如上面的代码,枚举类型指只能使用其列出来的几个数据
  1. 集合类型:set
CREATE TABLE myset (
	name VARCHAR(40) ,
	col SET('a', 'b''c', 'd')
);
insert into myset (name,col) values('asdfasdf', 'a')
insert into myset (name,col) values(' asdfasdf', 'a,b', 'd,b,a,d,c,b')
#可以插入集合中数据的各种组合

你可能感兴趣的:(mysql)