首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql学习

mysql学习

作者头像
Dreamy.TZK
发布2020-04-09 14:34:45
4980
发布2020-04-09 14:34:45
举报
文章被收录于专栏:小康的自留地小康的自留地

MySQL相关操作

注意:在Windows系统中,关键词的大小写不会影响结果,但Linux系统需要区分大小写。

创建数据库

CREATE DATABASE 数据库名 charset utf8;

  1. 命名规则 可以由字⺟、数字、下划线
    • 区分大小写
    • 唯一性
    • 不能使用关键字
    • 不能单独使用数字
    • 最长127位

数据库的相关操作

  1. 查看数据库 show databases; show create database db1; select database();
  2. 选择数据库 use 数据库名;
  3. 删除数据库 DROP DATABASE 数据库名;
  4. 修改数据库 alter databases db1 charset utf8;

数据表的相关操作

存储引擎

  1. MyISAM
    • 不支持事务
    • 表级锁定
    • 读写互相阻塞
    • 只会缓存索引
    • 读写速度较快
    • 不支持外键约束,但只是全文索引
    • MyISAM引擎是MySQL5.5版本之前的默认引擎,是对最初的ISAM引擎优化的产物。
  2. InnoDB
    • 支持事物
    • 行级锁定
    • 读写阻塞与事物隔离级别相关
    • 具有非常高效的缓存特性
    • 整个表和主键与Cluster方式存储,组成一颗平衡树
    • 所有SecondaryIndex都会保存主键信息。
    • ⽀持分区,表空间,类似oracle数据库
    • ⽀持外键约束,不⽀持全⽂索引(5.5之前),以后的都⽀持了
    • 和MyISAM引擎⽐较,InnoDB对硬件资源要求还是⽐较⾼的

事务的四大特性

  • 原子性
  • 一致性
  • 隔离性
  • 持久性

创建表

  1. 创建表时指定引擎 create table innodb_t2(id int)engine=innodb;
  2. 在配置⽂件中指定默认的存储引擎 linux:vim /etc/my.cnf windows:my.ini⽂件 [mysqld] default-storage-engine=INNODB #配置默认引擎,现在⽤的mysql默认基本都是InnoDB,所以其实都可以不 ⽤配置了 innodb_file_per_table=1 #表示独⽴表空间存储,可以不写

数据表的操作

  1. 建表 create table 表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型[(宽度) 约束条件] );
    1. 在同⼀张表中,字段名是不能相同
    2. 宽度和约束条件可选、⾮必须,宽度指的就是字段⻓度约束,例如:char(10)⾥⾯的10
    3. 字段名和类型是必须的
  2. 插入数据 insert into t1 values(1,'chao',18,'male');
    • 括号可跟多个,用逗号隔开‘
    • 表名后可指定字段,不指定时需全部字段一一对应。 mysql> insert into t1(id) values -> (3), -> (4); mysql> insert into t1 values -> (1,'chao',18,'male'), -> (2,'sb',81,'female') -> ;
  3. 查看表结构 describe t1;可简写为desc
  4. 表的完整性约束 PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯⼀的标识记录 FOREIGN KEY (FK) 标识该字段为该表的外键 NOT NULL 标识该字段不能为空 UNIQUE KEY (UK) 标识该字段的值是唯⼀的 AUTO_INCREMENT 标识该字段的值⾃动增⻓(整数类型,⽽且为主键) DEFAULT 为该字段设置默认值 UNSIGNED ⽆符号 ZEROFILL 使⽤0填充
    1. 唯一性约束 ⽅法⼀: create table department1( id int, name varchar(20) unique, comment varchar(100) ); create table department2( id int, name varchar(20), comment varchar(100), constraint uk_name unique(name) );
    2. 单列做主见 create table department1( id int not null unique, #主键 name varchar(20) not null unique, comment varchar(100) ); create table department2( id int primary key, #主键 name varchar(20), comment varchar(100) ); create table department3( id int, name varchar(20), comment varchar(100), constraint pk_name primary key(id);
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MySQL相关操作
    • 创建数据库
      • 数据库的相关操作
    • 数据表的相关操作
      • 存储引擎
    • 创建表
      • 数据表的操作
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档