sql学习笔记

MySQL 登陆:

  1. 使用MySQL客户端直接输入密码
  2. 使用dos命令行窗口,输入mysql -h 主机名(本机为localhost) -P端口号(默认为3306) -u 用户名(默认为root) -p登陆密码

ER图
基数:表示一个实体到另一个实体之间关联的数目
元:表示关系所关联的实体个数

定义约束条件:

  1. 主键约束
  2. 外键约束
  3. 唯一性约束
  4. 非空约束
  5. 检查约束
  6. 默认值约束

使用规范化减少数据冗余
函数依赖
三个范式

Mysql字符集
show character set展示支持字符集

设置支持中文:
创建一个init.sql文件,init.sql中的内容:

set character_set_client = gbk;
set character_set_connection = gbk;
set character_set_database = gbk;
set character_set_results = gbk;
set character_set_server = gbk;
set collation_connection = gbk_chinese_ci;
set collation_database = gbk_chinese_ci;
set collation_server = gbk_chinese_ci;

再连接mysql之后,执行下命令:

\. C:\ProgramData\MySQL\MySQL Server 5.6\data\init.sql

在这里插入图片描述

创建数据库

creat database database_name;

查看数据库

show databases;

选择当前操作的数据库

use database_name;

删除数据库

drop database database_name;

MySQL表管理
存储引擎:
InnoDB存储引擎(默认)
MyISAM存储引擎

创建数据库表

create table_name

e.g.

create table my_table(
today datetime,
name char(20)
);

会生成相应的文件:

my_table.frm

查看数据库中所有表

show tables;

显示表结构:

desc my_table;

也可以使用

show create my_table;

展示表的相关信息

表记录的管理:
InnoDB为例:
对数据进行处理之后的数据信息和索引信息保存到了ibdata1之中,ib_logfile0ib_logfile1是重做日志文件,记录了已经全部完成的事务。
对数据进行修改之后,内容修改:

  1. 在Mysql服务器内存中产生
  2. 写道外存硬盘上的共享表空间文件ibdata1
  3. 最后写道重做日志文件ib_logfile0

独享表空间:
innodb_file_per_table的值设置为ON(默认值为OFF)
使用

show variables like 'innodb_file_per_table';

查看全局系统变量,
使用

set @@global.innodb_file_per_table = ON;

innodb_file_per_table开启
之后再对数据库进行操作之后,不会再将信息添加到ibdata1中,而时会再数据库的目录下新建一个daba_name.idb文件(e.g.my_table.idb)
无论是MyISAM存储引擎还是InnoDB引擎,都对应唯一一个frm文件,但是InnoDB还有一个共享表文件ibdata1&&ib_logfile0

删除表

drop table table_name;

系统变量
分为全局系统变量(global)和会话系统变量(session),会话系统变量在系统变量的基础上增加了12个变量,但是仅仅用于定义当前会话的属性

查看系统变量

show global variables;
show session variables;
#session 可以省去,所以和 show variables等价
# @@global 标记系统变量
set @@global.innodb_file_per_table = ON;
# @@session标记会话系统变量
# 同上
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值