MYSQL学习笔记-1

相关专业术语

数据库: 数据库是一些关联表的集合。
数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。
:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
外键:外键用于关联两个表。
复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
表头(header): 每一列的名称;
列(col): 具有相同数据类型的数据的集合;
行(row): 每一行用来描述某条记录的具体信息;
值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
键(key): 键的值在当前列中具有唯一性。

MYSQL数据库操作

  1. mysql -u root -p
    输入正确的密码后,将连接到数据库服务
  2. exit
    退出数据库管理系统

MYSQL数据类型

合理定义数据表中各字段的数据类型,对数据库的性能优化是非常重要的。
MySQL支持多种类型,大致可以分为三类:数值、日期/时间、字符串/字符

数值类型字节数用途
TINYINT1小整数值
SMALLINT2大整数值
MEDIUMINT3大整数值
INT或INTEGER4大整数值
BIGINT8极大整数值
FLOAT4单精度浮点数值
DOUBLE8双精度浮点数值
DECIMAL对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2小数值
时间类型字节数用途格式
DATE3日期值YYYY-MM-DD
TIME3时间值或持续时间HH:MM:SS
YEAR1年份值YYYY
DATETIME8混合日期和时间值YYYY-MM-DD HH:MM:SS
TIMESTAMP4混合日期和时间值,时间戳YYYYMMDD HHMMSS
字符串类型字节数用途
CHAR(n)0-255定长字符串
VARCHAR(n)0-64K变长字符串
TINYBLOB0-255不超过 255 个字符的二进制字符串
TINYTEXT0-255短文本字符串
BLOB0-64K二进制形式的长文本数据
TEXT0-64K长文本数据
MEDIUMBLOB0-16MB二进制形式的中等长度文本数据
MEDIUMTEXT0-16MB中等长度文本数据
LONGBLOB0-4GB二进制形式的极大文本数据
LONGTEXT0-4GB极大文本数据

备注:
1.char(n) 若存入字符数小于n,则以空格补于其后,查询之时再将空格去掉。所以 char 类型存储的字符串末尾不能有空格,varchar 不限于此。
2.char(n) 固定长度,char(4) 不管是存入几个字符,都将占用 4 个字节,varchar 是存入的实际字符数 +1 个字节(n<=255)或2个字节(n>255),所以 varchar(4),存入 3 个字符将占用 4 个字节。
3.char 类型的字符串检索速度要比 varchar 类型的快。

4.varchar 可指定 n,text 不能指定,内部存储 varchar 是存入的实际字符数 +1 个字节(n<=255)或 2 个字节(n>255),text 是实际字符数 +2 个字节。
5.text 类型不能有默认值。
6.varchar 可直接创建索引,text 创建索引要指定前多少个字符。varchar 查询速度快于 text, 在都创建索引的情况下,text 的索引似乎不起作用。

MySQL关键字含义
NULL数据列可包含NULL值
NOT NULL数据列不允许包含NULL值
DEFAULT默认值
PRIMARY KEY主键
AUTO_INCREMENT自动递增,适用于整数类型
UNSIGNED无符号
CHARACTER SET name指定一个字符集

常用SQL语句

  1. USE mydb
    选择要操作的数据库,使用该命令后所有sql命令都只针对该数据库。
  2. SHOW DATABASES
    列表显示数据库管理系统中的所有数据库。
  3. SHOW TABLES
    列表显示当前数据库中的所有数据表。
  4. SHOW COLUMNS FROM mytable
    显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。
  5. SHOW INDEX FROM mytable
    显示数据表的详细索引信息,包括PRIMARY KEY(主键)。
  6. SHOW TABLE STATUS FROM mydb [LIKE ‘pattern’]
    将输出Mysql数据库管理系统的性能及统计信息。
  7. CREATE DATABASE mydb
    创建数据库(注:用户需要有对应的权限)
  8. DROP DATABASE mydb
    删除数据库(注:用户需要有对应的权限)
  9. SELECT column_name,column_name
    FROM table_name
    [WHERE Clause]
    [LIMIT N]
    [ OFFSET M]
    查询表中数据
  10. INSERT INTO table_name ( field1, field2,…fieldN )
    VALUES ( value1, value2,…valueN );
    向表中某些列插入数据
  11. INSERT INTO table_name
    VALUES ( value1, value2,…valueN );
    向表中所有列插入数据(自增主键的列填null或0,可以自增)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值