1、关系型数据库
2、跨平台
3、支持多种编程语言
1、数据是以行和列的形式去存储的
2、这一系列的行和列称为表
3、表中的每一行叫一条记录 row
4、表中的每一列叫一个字段 col
5、表和表之间的逻辑关联叫关系
1、Ubuntu安装MySQL服务 RedHat(红帽)、CentOS、Ubuntu
1、安装服务端
sudo apt-get install mysql-server
2、安装客户端
sudo apt-get install mysql-client
2、Windows安装MySQL服务
1、下载MySQL安装包(windows)
mysql-installer***5.7.***.msi
1、每条SQL命令必须以 ; 结尾
2、SQL命令不区分字母大小写
3、使用 \c 来终止命令的执行 (Linux中 ctrl + c
1、查看已有的库
show databases;
2、创建库(指定默认字符集为utf8)
create database 库名 default charset=utf8;
3、查看创建库的语句
show create database 库名;
4、列出当前所在库
select database();
5、切换库
use 库名;
6、查看库中已有表
show tables;
7、删除库
drop database 库名;
1、可以使用数字、字母、_,但不能使用纯数字
2、库名区分字母大小写
3、库名具有唯一性
4、不能使用特殊字符和MySQL关键字
1、表的基本操作create table lx2(id int) engine=myisam;
1、创建表(指定字符集)
create table 表名( 字段名 数据类型,字段名 数据类型,... ...)default charset=utf8;
Create table 表名 as select 字段名 from 表名;结构及数据
Create table 表名 like 旧表名; 单结构
2、查看创建表的语句(字符集,引擎,索引,约束,以及表结构)
show create table 表名;
3、查看表结构
desc 表名;
4、删除表
drop table 表名;
2、表的命名规则(同库的命名规则)
1、在表中插入记录
insert into 表名 values(值1),(值2),...,(值N);
insert into 表名(字段名列表) values(值1),...(值N);
2、查询表记录 +
1、select * from 表名; 注:非特殊情况不建议使用,对CPU压力大
2、select 字段1,字段名2,...,字段名N from 表名;
3、select 字段 别名,字段2 别名 from 表名;
1、语法:alter table 表名 执行动作;
1、添加字段 add
alter table 表名 add 字段名 数据类型 first;
alter table 表名 add 字段名 数据类型 after 字段名;
2、删除字段 drop
alter table 表名 drop 字段名;
3、修改字段数据类型 modify
alter table 表名 modify 字段名 新数据类型;
注:修改数据类型时会受到表中原有数据的限制
4、修改字段名 change
alter table 表名 change 旧名 新名 数据类型;
5、修改表名 rename
alter table 表名 rename 新表名;
1、数值类型
1、整型
1、int(4个字节)
2、tinyint(1个字节) 有符号、无符号unsigned
2、浮点型
1、float(4个字节,最多显示7个有效位)
2、double(8个字节,最多显示15个有效位)
3、decimal(M+2个字节,最多显示28个有效位)
2、字符类型
1、char(定长,浪费存储空间,但是性能高)
2、varchar(变长,节省存储空间,但是性能低)
3、枚举类型
1、enum(最多有65535个不同值)
2、set(最多有64个不同值)
## 在插入记录时 "值1,值2,..."
4、日期时间类型
1、year :年
2、date :日期
3、time :时间
4、datetime :日期时间
5、timestamp :日期时间
注:
插入记录时datetime字段不给值默认返回NULL
插入记录时timestamp字段不给值默认返回系统当前时间