连接成功后,在左侧的导航窗口后会看到本机所有的MySQL数据库,其中灰色的表示没有打开数据库,绿色的标识的就是已经被打开的数据库。
在建表过程中有一个地方要特别的注意,就是“栏位”,对于初次使用Navicat的新手来说,这个比较陌生,它的意思就是我们通常所说的“字段”,工具栏中的“添加栏位”即添加字段的意思,不要弄混了就成,添加完所有的字段以后要根据需求设置相应的“主键”。
varchar与char的区别:引自
Varchar和char类型(字符串类型)
varchar:保存了可变长度的字符串,是使用得最多的字符串类型,它能比固定类型占用更少的存储空间,因为它只占用了自已需要的空间(也就是说较短的值占用的空间更小)。它使用额外的1-2个字节来存储值的长度。Varchar能节约空间,所以对性能有帮助。然而,由于行的长度是可变的,它们在更新的时候可能会发生变化,这会引起额外的工作。当最大长度远大于平均长度,并且很少发生更新的时候,通常适合用varchar。这时候碎片就不会成为问题,还有你使用复杂的字符集,如utf-8时,它的每个字符都可能会占用不同的存储空间。Varchar存取值时候,MySQL不会去掉字符串末尾的空格。
char:固定长度,char存取值时候,MySQL会去掉末尾的空格。Char在存储很短的字符串或长度近似相同的字符的时候很有用。例如,char适用于存储密码的MD5哈希值,它的长度总是一样的。对于经常改变的值,char也好于varchar,因为固定长度的行不容易产生碎片,对于很短的列,char的效率也高于varchar。Char(1)字符串对于单字节字符集只会占用1个字节,而varchar(1)则会占用2个字节,因为有一个字节用来存储其长度。
Char和varchar的兄弟类型为binary和varbinary,它们用于保存二进制的字符串,二进制字符串的传统的字符串很类似,但是它们保存的是字节而不是字符。填充也有所不同,MySQL使用\0(0字节)填充binary值,而不是空格,并且不会在获取数据的时候把填充的值截掉。
使用varchar(5)和varchar(200)保存“hello”占用的空间是一样的,但是使用较短的列有很大的优势,较大的列会使用更多的内存,因为MySQL通常会分配固定大小的内存块来保存值。这对排序或使用基于内存的临时表尤其不好。同样的事情也会发生在使用文件排序或基于磁盘的临时表的时候。
主键:MySQL 为什么需要一个主键
其实mysql的主键是索引的一种,并且是唯一索引
主码可以有多个字段,但是一个表只能有一个主码。在SQL里面,设计表的时候,按住ctrl键,然后点你要设置为主码的
字段,然后再点上面那个小钥匙样子的按钮,就可以设置多个字段为
主码
自增(mysql数据库主键设置了自增,但是,我把删除了一些数据,随后加的数据为什么会自增ID会接着已经删除了的)
主键、外键和索引的区别
主键、外键和索引的区别?
| 主键 | 外键 | 索引 |
定义: | 唯一标识一条记录,不能有重复的,不允许为空 | 表的外键是另一表的主键, 外键可以有重复的, 可以是空值 | 该字段没有重复值,但可以有一个空值 |
作用: | 用来保证数据完整性 | 用来和其他表建立联系用的 | 是提高查询排序的速度 |
个数: | 主键只能有一个 | 一个表可以有多个外键 | 一个表可以有多个惟一索引 |
Navicat导入excel的xlsx文件提示无法打开文件
解决方案:打开excel文件另存为.xls或者.csv文件,然后再选择对应的格式导入试试
疑问:Excel导入表?
新建MySQL的学习
无法新建查询
这个问题是连接名有特殊字符导致的,查看连接的连接属性,高级,设置保存路径,在保存路径中不要用特殊字符就可以了。
单引号问题
SELECT ID,Name,Hobby FROM `student information_copy` WHERE Hobby LIKE 's%'; //s%必须单引号,Hobby(column_name)可以加··(esc下面的键),也可以不加,但不能用单引号