mysql笔记

prompt命令修改mysql提示符,默认是mysql>

例如:

prompt abc

prompt \u@\h \d  当前用户名@当前主机名 当前数据库名

 

SELECT VERSION(); 数据库版本

SELECT NOW(); 当前时间

SELECT USER();  显示当前用户

SHOW WARNINGS; 查看警告信息

 

创建数据库t1

CREATE DATABASE IF NOT EXISTS t1 或 CREATE SCHEMA IF NOT EXISTS t1

CREATE DATABASE  t1 DEFAULT CHARACTER SET gbk 或 CREATE DATABASE  t1 CHARACTER SET gbk

SHOW CREATE DATABASE t1  查看创建数据库信息

 

修改数据库编码

 ALTER DATABASE t1 DEFAULT CHARACTER SET=utf8 或   ALTER SCHEMA t1 CHARACTER SET=utf8

 

删除数据库

DROP DATABSE IF EXISTS t1 或 DROP SCHEMA t1

 

数据类型

整形类型(字节) TINYINT(1)  SMALLINT(2)  MEDIUMINT(3)  INT(4)  BIGINT(8)

浮点类型 float(M,D)   DOUBLE(M,D)   M总位数,D小数点后的位数

时间日期类型 YEAR TIME DATE DATETIME TIMESTAMP

字符类型 CHAR(0-255)  VARCHAR(0-65535)

TINYTEXT(2^8) TEXT MEDIUMTEXT LONGTEXT(2^32) 

ENUM('val1','val2')  枚举类型 多种选一 比如男女

SET('val1','val2') 集合 多个值中可以有多种组合 比如爱好可以多选组成不同的选项

 

USE test //打开数据库

SELECT DATABASE(); 查看当前开大的数据库

 

创建数据库:CREATE DATABASE mytest DEFAULT CHARACTER SET utf8mb4;

创建表:CREATE TABLE t1( username VARCHAR(20), age TINYINT UNSIGNED, salary FLOAT(8,2) UNSIGNED );

SHOW TABLES  //查看当前数据库中的表

SHOW TABLES FORM XXXDATABASE   //查看某个数据库中的所有表

SHOW COLUMNS FROM t1    //查看某表的数据结构

 

插入数据

1. INSERT INTO t1 (username,age,salary) VALUES ('sdf',18,888.88)

2. INSERT t1 (username,age,salary) VALUES ('sdf',18,888.88)

3.INSERT t1 VALUES ('sdf',18,888.88)

4.INSERT t1 (username,age) VALUES ('wer',20)

 

NOT NULL

CREATE TABLE t2(username VARCHAR(20) NOT NULL,age TINYINT UNSIGNED NULL);

主键与自增

CREATE TABLE t3(id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,username VARCHAR(20) NOT NULL);

UNIQUE KEY

CREATE TABLE t4(id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,username VARCHAR(20) UNIQUE KEY,age TINYINT NOT NULL);

默认值

CREATE TABLE t5(id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,username VARCHAR(20) NOT NULL UNIQUE KEY,sex ENUM('1','2','3') DEFAULT '3');

 

约束

约束的字段是一个字段叫做列级约束,两个或两个以上的约束叫做表级约束

五种约束:NOT NULL, PRIMARY KEY, UNIQUE KEY, DEFAULT, FOREIGN KEY

FOREIGN KEY

父表和子表必须使用相同的存储引擎,而且禁止使用临时表。存储引擎必须是InnoDB

SHOW INDEXES FROM 表明  //查看某表的所有所有

FOREIGN KEY (要创建外键的外键列名) REFERENCES 父表名 (参照列字段名)

外键约束有4个参照操作:目的是操作主表时候如果处理子表的数据,以CASCADE举例

FOREIGN KEY (要创建外键的外键列名) REFERENCES 父表名 (参照列字段名) ON DELETE CASCAD

主键约束,唯一约束,外键约束才有表级约束。

列级约束既可以在定义的时候声明,也可以在列定义后声明。表级约束只能在列定义后声明。

 

mysql的锁:共享锁(读锁),排它锁(写锁)

共享锁(读锁):在同一时间段内,多用户可以读取同一个资源

排它锁(写锁):在任何时间只能有一个用户写入资源,当进行写锁时会阻塞其他的读锁或者写锁的操作

锁颗粒:表锁,行锁

表锁:是一种开销最小的锁策略

行锁:是一种开销最大的锁策略

事务的特性:原子性,一致性,隔离性,持久性

 

mysql支持的存储引擎:MyISAM,InnoDB,Memory,CSV,Archive

MyISAM引擎:适用于事务的处理不多的情况;存储限制256T,支持索引,不支持事务,锁颗粒为表级锁定,支持数据压缩,不支持外键

InnoDB引擎:适用于多事务,支持外键的情况;存储限制64T,支持索引,支持事务,锁颗粒为行锁,不支持数据压缩,支持外键

Memory引擎:存储限制根据主机内存有所不同;不支持事务,支持索引,锁颗粒为表锁,不支持数据压缩,不支持外键

Archive引擎:存储无限制,不支持事务,不支持索引,锁颗粒为行锁,支持数据压缩。不支持外键

 

设置修改mysql存储引擎:

方法1:修改mysql配置文件,修改默认存储引擎

方法2:创建表的时候指定存储引擎create table xxx(...) ENGINE=InnoDB

方法3:alter table tp1 ENGINE=InnoDB;

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值