简介:
1、MysQl是一种开源关系型数据库管理系统
2、是有MysQl AB公司开发,目前Oracle旗下产品
3、MySQL分为社区版和商业版
特点:
1、体积小
2、速度快
3、成本低
4、免费开源
5、多语言支持
6、可移植性好
7、高效(支持多线程,充分利用cpu资源,运行速度非常快)
8、支持大量数据查询和存储
9、操作简单易学习
密码: admin
show databases; 是查看你所有数据库的列表
use mysql; 查看mysql
use 选中指定数据库
****表的概念
表头(header):每一列的名字
列(row):具有相同数据类型的集合
行(col):每一行用来描述某个人、事物具体信息
键(key):用来识别某个特定的人,或者是物的方法,键的值在当前列中具有唯一性
值(value):行的具体信息,每个值必须与该列的数据类型相同
****数据类型
1、日期和时间数据类型
date(日期) 格式:2017-08-08;
time(时间) 格式:10:28:30
datatime 日期时间 2017-08-08 10:28:30
timestamp 自动储存记录修改时间
year 年份
2、数值数据类型
2-1:整型
tinyint
smalint
mediumint
int
bigint
2-2浮点型
float(m,d) 单精度浮点型 m总个数,d小数位
double(m,d) 双精度浮点型 m总个数,d小数位
decimal(m,d) 储存为字符串的浮点数
3、字符串数据类型
1.char(N) 固定长度 最多255个字符
varchar(n) 可变长度 最多65535个字符
####了解
tinytext 可变长度 最多255个
text 可变长度 最多65535个
mediumtext 可变长度 最多是2的24次方-1个字符
longtext 可变长度 最多2的32次方-1个字符
难点:
1.char(n)和varchar(n)括号中的n代表字符的个数,并不是字节的个数
所以我们使用中文的时候(utf-8)就意味着可以插入n个中文,
但是实际占用n*3个字节
2.char和varchar最大区别 char不管实际value都会只有n个字符
varchar只会占用实际字符,占用的空间+1,并且实际空间+1必须 <=n
3.实际值的长度大于了n,超出的截取没有超出部分
4.char在储存的时候会截取尾部的空格,varchar就不会
*****
create database 数据库名
创建数据库
删除数据库 drop database 数据库名
use +库名 ==> 使用数据库
show tables 查看当前选中的数据库里边的所以数据表
创建表
create table +数据表名名字 如(abc)
查看数据表的表结构
show columns from 数据表名:
desc 数据表名
删除数据表:
drop table 表名
*****数据 id name sex birth
添加数据 ==> insert into 名字 values('小明','男','1995-09-21');
添加多条数据 ==>
insert into 名字 values('小明','男','1995-09-21'),('小红','男','1995-09-21'),('小绿','男','1995-09-21');
查询所有数据:
select * from 表名:
查询单个:
select * from 表名 where id=:
查询单个字段:
select id from 表名 :查询条件(可选)
修改数据 : update 表名 set 字段=(id或者name)新的值 where id=2;
删除数据:
delete from 表名 where 条件;
条件: id=2 ==>指定删除 id=2的数据;
id ==》 删除包含id的所有数据
添加表结构(在最后面添加)
alter table 表名 add 列名(字段) 约束 (数据类型之类);
alter table abc add age varchar(3);
添加表结构(在最后前面添加)
alter table 表名 add 列名(字段) 约束 (数据类型之类) first;
alter table abc add age varchar(3) first;
添加表结构(在指定位置添加)
alter table 表名 add 列名(字段) 约束 (数据类型之类) after 指定类名;
alter table abc add age varchar(3) after id;
删除表结构:
alter table 表名 drop 列名
alter table abc drop name;
修改列的类型
alter table 表名 modify 列名 新类型 新参数;
alter table abc modify name varchar(3);
修改列名和列类型
alter table 表名 change 旧的类名 新的类名 新的类型 新的参数
alter table abc change bith bithday varchar(10);
修改表民:
rename table 原表名 to 新表名;
alter table 原表名 rename 新表名;
统计数据条数 ==》count()
select count(*) from 表名;
查询id 在某个区间: 如 查询id2-3的内容
select * from 表名 where id>=2 and id<4
查询 第2条后的3条数据:
select * from 表名 limit 2,3; 2开始位置 (不包含),3:截取数量