-
什么是Mysql?
mysql是一个开源的关系型数据库管理系统,现在是oracle公司旗下的一款产品. 由C和C++语言编写,可移植性高。支持 在多种操作系统上安装,最常见有,linux,window。 mysql因为开源免费,所以受到了目前互联网行业的欢迎。 以mysql作为数据库,linux系统作为操作系统, apache或者nginx作为web服务器,php/python作为服务端的脚 本解释器,就可以搭建起一个免费的网站。 被业界称为LNMP或者LAMP
-
为什么要用数据库
1.数据持久化 保证数据完整性,一致性,安全性 2.方便数据操作管理
-
什么是库?
顾名思义就是数据仓库的意思,存储着一定数据结构的数据。 一个数据库中可能包含着若干个表,我们可以通过数据库提供的多种方法来管理数据库里边的数据
4.什么是表?
我们所说的表就是数据表,每一张表是由行和列组成,每记录一条数 据,数据表就增加一行。 列是由字段名 与字段数据属性组成,我们称之列为字段,每一个字段 有着多个属性。 例如是否允许为空、长度、类型等等 数据库:database 数据表:table 字段(列):column 行:row
-
建库必备知识
直接创建数据库 create database db1; 进入库 use db1; 查看当前mysql使用的字符集(产生乱码原因) show variables like 'character%';
-
mysq创建表常见数据类型
<1>整数型类型 大小 范围(有符号) 范围(无符号unsigned) 用途 TINYINT 1 字节 (-128,127) (0,255) 小整数值 SMALLINT 2 字节 (-32768,32767) (0,65535) 大整数值 MEDIUMINT 3 字节 (-8388608,8388607) (0,16777215) 大整数值 INT(常用) 4 字节 (-2147483648,2147483647) (0,4294967295) 大整数值 BIGINT 8 字节 () (0,2的64次方减1) 极大整数值 <2>浮点型 FLOAT(m,d) 4 字节 单精度浮点型 备注:m代表总个数,d代表小数位个数 DOUBLE(m,d) 8 字节 双精度浮点型 备注:m代表总个数,d代表小数位个数 <3>定点型 DECIMAL(常用) (m,d) 依赖于M和D的值 备注:m代表总个数,d代表小数位个数 <4>字符串类型 类型 大小 用途 CHAR 0-255字节 定长字符串 VARCHAR(常用) 0-65535字节 变长字符串 TINYTEXT 0-255字节 短文本字符串 TEXT 0-65535字节 长文本数据 MEDIUMTEXT 0-16777215字节 中等长度文本数据 LONGTEXT 0-4294967295字节 极大文本数据 char的优缺点:存取速度比varchar更快,但是比varchar更占用空间 <5>时间型 数据类型 字节数 格式 备注 date 3 yyyy-MM-dd 存储日期值 time 3 HH:mm:ss 存储时分秒 year 1 yyyy 存储年 datetime(常用) 8 yyyy-MM-dd HH:mm:ss 存储日期+时间 timestamp 4 yyyy-MM-dd HH:mm:ss 存储日期+时间,可作时间戳 这里有一个小的知识点,[2038年1月19号会有多少系统产生bug?](https://blog.csdn.net/chandfy/article/details/122827025?spm=1001.2014.3001.5501)
-
mysql数据表必备知识之创建表
CREATE TABLE 表名 ( 字段名1 字段类型1 约束条件1 说明1, 字段名2 字段类型2 约束条件2 说明2, 字段名3 字段类型3 约束条件3 说明3 ); 约束条件有: comment ----说明解释 not null ----不为空 default ----默认值 unsigned ----无符号(即正数) auto_increment ----自增 zerofill ----自动填充 unique key ----唯一值 例:创建sql: create table student ( id int(11) zerofill auto_increment not null comment '学生学号', name varchar(20) default null comment '学生姓名', birthday datetime default null comment '生日', unique key (id) )engine=innodb charset=utf8;; 注意,varchar一定要定义大小,否则会创建失败。 查看数据库中的所有表:show tables; 普通的插入表数据: insert into 表名(字段名) values(字段对应值); 例:insert into student (name,id) values ('ch',1); 一次性插入多个数据 insert into 表名 (字段名) values (对应值1),(对应值2),(对应值3); 简单查询数据: select (字段名) from (表名); update 表名 set 字段名1=值1 where 字段名=值; 乱码问题解决: 临时:set names gbk; 永久:修改配置文件my.cnf(my.ini)里边的 [client] default-character-set=gbk 作用于外部的显示 [mysqld] character_set_server=gbk 作用于内部,会作用于创建库表时默认字符集
7.最常用简单查询:
模糊查询:
select 字段名 from 表明 where 字段名 like '林%';
limit限制查询
作用:对查询结果起到限制条数的作用
语法:limit n,m n:代表起始条数值,不写默认为0;m代表:取出的条数
适用场合:数据量过多时,可以起到限制作用
例: select * from 表名 limit 4,5;
更多知识见: