目录
MySQL安装
数据库的操作
SQL中不区分大小写
1、显示当前的数据库
注意事项:
1)show和databases之间至少要有一个空格
2)databases是复数形式(有多个数据库),不要忘了加 s
3)每个输入的sql最后要以 ; 结尾(英文分号
这里就显示出,当前的数据库服务器上,都有哪些数据库(此处的数据库是数据集合)
这四个是系统自带的,至少会有这四个数据库
2、创建数据库
形如这样的提示,就表示成功
注意事项:
创建数据库的时候,数据库的名字,不能和SQL中的"关键字"重复
创建数据库的名字,也不能和已有的数据库名字重复
不过,也有办法,让关键字成为数据库名,那就是在创建数据库的时候给数据库名,加上"反引号"(在键盘的左上角)。有的时候确实真需要,比如创建一个数据库表示订单order,巧了,order也是sql中的关键字,如果确实需要,就可以通过这种做法达成目标。
创建数据库的时候还需要指定数据库的"字符集"( charset**),**这个往往是咱们在开发中的很关键的环节。一个中文汉字,占几个字节?只要你回答2或者3,只要有具体数字,一定都是错误的。取决于当前的字符集的,使用不同的字符集,对应的字节数是不同的。ascii,计算机本质上是存储二进制的数据(010101),就需要约定好,使用不同的数字表示不同的字符,对于英文来说,asci足够了。对于其他的语言文字(比如中文)按照上述思路,进一步延伸.一个字节表示不下,可以多引入几个字节。本质上还是有一个表,使用不同的数字,对应到不同的汉字.(其他的语言文字,日文,韩文,葡萄牙文,西班牙文,阿拉伯文...)对于中文来说,常用汉字,也就4k个.算上生僻字,也就6w左右。对于计算机来说,维护一个6w大小的表,非常ez~~像上述用来表示中文的表,不只有一个不同的组织提出的不同的编码方案(有不同的表格)。同一个汉字,在不同的编码方案中,对应的数字是不一样的。
随着时间的发展,大部分的编码方案就消亡了。最终留下来的,表示中文的编码方案,主要就是2个了。
(1)GBK主要是在咱们中国大陆使用(港澳台一般不用这个),港澳台用繁体字。GBK只能表示简体字~~
windows简体中文版,默认的编码方式就是GBK
此时一个汉字就是使用2个字节表示,之前使用VS编写代码,此时打印出的一个汉字的长度就是2个字节
放到10年,20年前,GBK用的很多~
(2)UTF-8 (也可以写作UTF8或吾utf8或者utf-8)属于变长编码,表示不同的符号,可能用1-4个字节来表示~~
对于中文汉字来说,一般是3个字节表示。
UTF8是当前世界上最流行的编码方式。不仅仅能表示中文,也能表示世界上任何一种语言文字
如果不能正确指定字符集后续想保存中文,就可能会出问题,比如mysql5,默认的字符集是"拉丁文",此时如果尝试插入中文数据,就会插入失败~(mysql8的话,默认的就是utf8,不手动指定也可以)
后续写创建数据库操作,都建议大家统一把字符集给指定一下
mysql上的utf8,其实不是"完全体"是个"残本"。有些标准的utf8字符,在mysql的utf8上可能是不支持的。比如,现在emoji表情。
mysql提供了一个方案utf8mb4 ,在mysql上表示完全体utf8。utf8mb4 是mysql自己创造的,
脱离mysql之外,别的程序,都不认识这个字符集,都只是认识utf8~~
++说明:MySQL的utf8编码不是真正的utf8,没有包含某些复杂的中文字符。MySQL真正的utf8是使用utf8mb4,建议大家都使用utf8mb4。++
[IF NOT EXISTS]在创建数据库的时候指定一个简单的条件,如果不存在,就创建;如果存在,就啥都不做~~
此处虽然有警告,但是仍然是"成功"不算报错。
如果只是通过命令行,一条一条的输入sql,此时if not exists就没啥用处~~
啥时候有用呢?以后在工作中可能也会让数据库,批量执行一组sql(比如把若干sql写到一个文件中)批量执行过程中,任何一个sql出错,都会使后续的sql无法继续执行(强制终止了)
3、使用数据库
类似于"文件夹"感觉
注意数据库组织数据的规则:
一个数据库服务器上有很多的"数据库"
一个数据库中,又有很多"数据表
一个数据表,有很多"数据行"
一个数据行,又有很多"数据列"
因此就需要先选中某个数据库,接下来针对数据表/数据行等操作,就是针对这个被选中的数据库展开的
见到上述提示,说明切换成功~~
4、删除数据库
删除数据库,是一个非常危险的操作!大家未来在实际工作中,一定要慎重!慎重!
数据库一旦被删除,就恢复不了了。公司中的数据库数据,都是真金白银~~
++要怎样做,才能避免删库呢?++
1.控制权限.
不是每个人都能操作,只有少数人才能操作。
比如,限制普通的开发,只能够对数据库进行"读操作",不能"修改",尤其是删库这样的操作
如果你确实要删库,需要从相关的人员进行申请,由人家来进行操作,没有权限的话,即使你执行删除语句,也不会真正删除(报错)
2.要对数据库进行及时的备份数据库中的数据,拷贝出来,存储到别的地方
数据备份,一二三原则.
一份数据,至少需要保存到两个机器上,至少有三个副本(拷贝出三份)
但是对于数据库,具体的备份策略,根据实际的项目场景,具体问题具体分析
不同的场景,对于数据量多少,对于数据可靠性的要求...
3.确实需要进行"删库"危险操作,最好拉上一个人,和你一起进行操作
你操作,他在旁边给你看着(僚机)
小小结
常用数据类型
数值类型
字符串类型
日期类型
数据表的操作
需要操作数据库中的表时,需要先使用该数据库
1、查看当前数据库中有哪些表
数据库中进行一些查询操作,就会得到一系列的结果数据,就把这些结果,称为"结果集"
2、创建表
在关系型数据库中,一个表有哪些列,每个列叫啥名字是啥类型,都是要提前确定好的.
后续往表里存储的数据,都要严格遵守上述类型的要求.
3、查看表的详细情况
查看表的结构(有哪些列,每个列是啥情况),不能查看表里的内容