ZzRG的小站 - MySql
type: channel
link: https://juziw.cn/tag/MySql/
items: MySql的学习笔记！

MySql的学习笔记！
type: item
date: 2022-06-12T15:52:00+00:00
description: 1.创建数据库CHARACTER SET: 指定数据库采用的字符集，如果不指定字符集，默认utf8COLLATE: 指定数据库字符集的校对规则(常用的utf8 bin,utf8 general ci注意默认是utf8 general ci)实例：使用指令创建数据库 CREATE DATABASE 名字;删除数据库指令 DROP DATABASE 名字;创建一个使用utf8字符集的hsp db02数据库REATE DATABASE hsp db02 CHARACTER SET utf8创建一个使用utf8字符集，并带校对规则的hsp db03数据库REATE DATABASE hsp db03 CHARACTER SET utf8 COLLATE utf8 bin校对规则utf8 bin区分大小默认ut_general_ci不区分天小写下面是一条查询的sql , select查询*表示所有字段FROM从哪个表WHERE从哪个字段NAME= 'tom'查询名字是tomSELECT * FROM t1 WHERE NAME=' tom'查看、删除、备份、恢复数据库显示数据库语句: SHOW DATABASES显示数据库创建语句: SHOW CREATE DATABASE db_ name数据库删除语句【一定慎用！】: DROP DATABASE [IF EXISTS] db_ name备份数据库(注意:在DOS执行)命令行 mysqldump-u用户名-p-B数据库1数据库2数据库n>文件名.sql恢复数据库(注意:进入SQLyog再执行) Source文件名.sql备份库的表 mysqldump-u 用户名-p密码数据库表1表2表n >d:\文件名.sql创建表CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype )character set字符集collate校对规则engine引擎 field:指定列名datatype:指定列类型(字段类型) character set :如不指定则为所在数据库字符集 collate:如不指定则为所在数据库校对规则 engine:引擎(这个涉及内容较多，后面单独讲解) 注意:创建表时，要根据需保存的数据创建相应的列，并根据数据的类型定义相应的列类型。例:user表 id 整形name 字符串password 字符串birthday 日期数值型(bit)的使用1.基本使用 mysql> create table t02(num bit(8));mysql> insert into t02 (1,3);mysql> insert into t02 values(2, 65);2.细节说明 . bit字段显示时，按照位的方式显示..查询的时候仍然可以用使用添加的数值·如果一个值只有0,1可以考虑使用bit(1),可以节约空间.位类型。M指定位数，默认值1，范围1-64.使用不多.数值型(小数)的基本使用1.FLOAT/DOUBLE [UNSIGNED]Float单精度精度,Double双精度·2.DECIMAL[M,D] [UNSIGNED]·可以支持更加精确的小数位。M是小数位数(精度)的总数，D是小数点(标度)后面的位数。·如果D是0，则值没有小数点或分数部分。M最大65。D最大是30。如果D被省略，默认是0。如果M被省略，默认是10。·建议:如果希望小数的精度高，推荐使用decimal字符串的基本使用 CHAR(size)固定长度字符串最大255字符VARCHAR(size)可变长度字符串最大65532字节【utf8编码最大21844字符1-3个字节用于记录大小】 字符串使用细节细节 char(4)//这个4表示字符数(最大255)，不是字节数,不管是中文还是字母都是放四个,按字符计算. varchar(4)//这个4表示字符数,不管是字母还是中文都以定义好的表的编码来存放数据。 不管是中文还是英文字母,都是最多存放4个,是按照字符来存放的.细节2 char(4)是定长(固定的大小)，就是说，即使你插入'aa'， 也会占用分配的4个字符的空间. varchar(4)是变长，就是说，如果你插入了'aa',实际占用空间大小并不是4个字符，而是按照实际占用空间来分配 (说明:varchar本身还需要占用1-3个字节来记录存放内容长度) L(实际数据大小) + （1-3）字节细节3 什么时候使用char,什么时候使用varchar 1.如果数据是定长,推荐使用char,比如md5的密码,邮编，手机号,身份证号码等. char(32) 2.如果一个字段的长度是不确定，我们使用varchar,比如：留言，文章…