数据库分类
关系型数据库(SQL):存储方式固定,安全
非关系型数据库(NoSQL):存储方式比较灵活,存储数据的效率比较高,不太安全
MySQL是一种关系型数据库管理系统(采用关系模型来组织管理数据的数据库系统)
注意事项
大小写:不严格区分,默认大写为程序代码,小写为程序员写的代码
语句结束符:每个语句都以;或者g结束
类型:强制数据类型,任何数据都有自己的数据类型
逗号:创建表的时候最后一行不需要逗号
进入与退出
进入:mysql –uusername -ppassword mysql -uusername -p 回车再输入密码,密码不可见
退出:exit
库级操作
创建库: create database [if not exists] 库名; 重复创建会报错, 可以加上if not exists
删除库: drop database [if exists] db_name; 如果不知道数据库是否存在,记得加 if exists
使用数据库: use db_name;
显示所有的库: show databases;
查询当前使用的库: select database();
表级操作
显示所有的表: show tables;
创建表: create table [if not exists] 表名(id int ,name varchar(20).....) 重复创建会报错, 可以加上if not exists
显示创建表的信息: show create table tb_name;
删除表: drop table tb_name
表中数据的操作
增(insert into values)
指定字段插入: INSERT INTO tb_name(field_name) VALUES (field_values);
全字段插入: INSERT INTO tb_name VALUES (all_values);
多条插入: INSERT INTO tb_name(field_name) VALUES (value_1), (value_2), …;
删(delete from where)
注意:一定要写where条件,不然会删除表中全部数据
删除表中所有数据: DELETE FROM tb_name;
删除表中满足条件的数据: DELETE FROM tb_name WHERE conditions;
改(update set where)
注意:一定要写where条件,不然会修改表中全部数据
修改所有数据: UPDATE tb_name SET field_1=value_1
修改多个: UPDATE tb_name SET field_1=value_1, field_2=value_2 … WHERE conditions;
修改满足条件的数据: UPDATE tb_name SET field_1=value_1 WHERE conditions;
查(select from where)
指定字段查询: SELECT field_names FROM tb_name;
全字段查询: SELECT * FROM tb_name;
带条件的查询: SELECT field_names FROM tb_name WHERE conditions;
数据类型
数值类型
int 四个字节(0,4294967295)
float(m,n) 单精度浮点型(4个字节)
double(m,n) 双精度浮点型,m总个数,d小数位(8字节)
不常用: tinyint、samllint、mediumint、bigint
字符类型
char(size) 保存固定长度的字符串(可包含字母、数值以及特殊字符)。在括号中指定字符串的长度。最多255个字符
varchar(size) 保存可变长度的字符串(可包含字母、数值以及特殊字符)。在括号中指定字符串的长度。最多255个字符。如果值的长度大于255,则被转换为text类型
不常用: tinytext/tinyblob、text/blob、longtext/longblob、enum(枚举)
时间日期类型
date:日期 格式:2019-04-16
time:时间 格式:09:32:43
datetime:日期时间 格式:2019-04-16 09:32:43
timestamp:自动存储记录修改的时间
year:存放年