文章目录
.数据库的操作.显示数据库.创建数据库.选中数据库.4删除数据库.MySQL中的数据类型.数值类型.字符串类型.日期类型
.数据库的操作
注意:
SQL语句不区分大小写,以下将以小写的语句来演示每个SQL语句后面都要加英文的分号(个别语句不用加分号,但是推荐无脑全加)[]中括号中的语句是可选的库名、表名、列名等等不能和关键字相同,如果一定要用关键字为名,则可以通过反引号把名字引起来
.显示数据库
语法:
showdatabass;
示例:
补充:
(0.00sc):表示执行这条语句花费的时间,即花费了0.00秒
.创建数据库
语法:
catdatabas[ifnotxists]数据库名[cat_spcification[,cat_spcification]];
ifnotxists:表示如果系统没有该数据库,则新建;如果有,则不创建cat_spcification:包含两个内容charactrst字符集名和collat数据库字符集的校验规则没有指定字符集和其校验规则时,系统默认使用的字符集是:latin,为了更好的支持中文,可以修改成utf8mb4或者GBK
示例一:
示例二:
示例三:
补充:
其实ifnotxists这个语句很重要。因为我们现在是单行输入,SQL语句如果报错,影响也不大,我们只要重新输入正确的就行。但是如果先将SQL写到文件中,然后批量执行它,那么只要其中某条语句报错了,后面的SQL语句就不能继续执行了字符集:是指多个字符的集合。不同的字符集包含的字符个数不一样、包含的字符不一样、对字符的编码方式也不一样。例如GB是中国国家标准的简体中文字符集,GB收录简化汉字(个)及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母,共个图形字符。而ASCII字符集只包含了8字符,这个字符集收录的主要字符是英文字母、阿拉伯字母和一些简单的控制字符。另外,还有其他常用的字符集有GBK字符集、GB字符集、Big5字符集、Unicod字符集等。字符集校验规则:指的是字符集比较大小的时候依据的准则,比如我们比较a和B的大小,如果不考虑大小写,那么aB,如果考虑大小写,则aB,也就是说,同一字符集,不同的比较规则,对某列数据的排序结果也就会产生不同。MySQL中的字符校验规则可以通过showcollation;语法来查看,如下:我们可以看到,结果中一共有95中比较规则,其中,每种字符集都包含自己默认的校验规则,我们简单解释一条:utf8_polish_ci以波兰语为规则进行对比,这个校验规则由三个部分组成,比较规则名称以与其关联的字符集的名称开头,utf8是指的是utf8字符集的比较规则,polish指的是波兰语,_ci指的是不区分大小写。MySQL种的utf8编码不是真正意义上的utf8,因为它没能包含某些复杂的中文字符以及一些符号,如:moji类表情。MySQL真正的utf8字符集是utf8mb4
.选中数据库
语法:
us数据库名;
示例:
.4删除数据库
语法:
dropdatabas[ifxists]数据库名;
示例:
补充:
删库其实是一件很危险的事情,mmm,进公司删库的话很容易进去
.MySQL中的数据类型
介绍:
MySQL中定义数据字段的类型对数据库的优化是非常重要的。MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。MySQL支持所有标准SQL数值数据类型。
.数值类型
补充:
数值类型可以指定为无符号(unsignd),表示不取负数,不建议使用,官方文档明确即将弃用MySQL的数值类型无单独的字符类型char,但是有字符串类型在之前写的剖析C语言数据在内存中的存储这篇文章中写过关于浮点数的存储,由于浮点数的存储其实是一种二进制的科学计数法的方式,所以只能精确表示如:0.5、0.5、0.5这类的数值,其余只能表示一个近似值Java中的BigDcimal是用来精确表示浮点数的,是用了变长内存存储的方式,类似于字符串。但是也付出了需要更多空间和时间的代价表示钱的类型:虽然钱可以用浮点数表示,但是由于钱其实都是整数,所以可以直接用int类型,单位就是分
.字符串类型
补充:
varchar(siz)的siz表示的是这个字符串的最大长度,单位是字符汉字是一个字符,但不一定是一个字节txt没有参数,会根据用户插入的数据来动态确定占用的空间前三个字符串类型都是保存的文本类型的数据,blob是保存的二进制类型的数据二进制的数据例如:图片、mp、视频、world、ppt、xcl、.class文件等等表示图片的类型:虽然图片是二进制类型的数据,但是由于blob能够存储数据的最大值为64k,所以很多图片不使用,因此可以将图片以文件的形式放到硬盘,然后在数据库中记录这个图片的路径,这时就可以用一个字符串类型就轻松搞定了
.日期类型
补充:
timstamp意为时间戳,时间戳是一种计算机表示时间的方式,如注意08年,这个timstamp类型就用不了,因此推荐写代码的时候使用dattim
,