一、进入和退出mysql
-- 进入mysql
mysql -uuser_name -p
passwd
-- 推出mysql
\q 或
exit
二、创建和删除库
-- 1. 查看数据库
show databases;
-- 2. 进入数据库
use database_name;
-- 3. 创建数据库
create database [if not exists] `db_name`;
-- 4. 删除数据库
drop database [if exists] `db_name`;
三、创建和删除表
-- 1. 查看所有表
show tables;
-- 2. 创建表
create table `table_name`(`field_name` field_data_type field_constraint_condition,...);
-- field: 字段名
-- field_data_typpe: 字段数据类型
-- field_constrant_condition: 字段约束条件
-- 3. 修改表名
rename table `old_tb_name` to `new_tb_name`;
-- 4. 删除表
drop tabel `tb_name`;
-- 5. 查看表结构
desc `tb_name`
-- 6. 查看表创建语句
show create table `tb_name`;
-- 7. 表结构的修改
-- 7.1. 修改表名
alter table `old_tb_name` rename to `new_tb_name`;
-- 7.2. 修改字段名
alter table `tb_name` change `ole_field_name` `new_field_name` field_data_type;
-- 7.3. 修改字段的数据类型
alter table `tb_name` modify `field_name` field_data_type;
-- 7.4. 添加字段
alter table `tb_name` add [column] `field_name` field_data_type;
-- 7.5. 删除字段
alter table `tb_name` drop [column] `field_name`;
四、添加数据、删除数据、修改数据、查询数据
-- 1. 添加数据
-- 1.1. 指定字段插入
insert into `tb_name`(field_name1, field_name2, ..., fiel_nameN) value(field_value1,field_value, ...,field_valueN); -- 只能插入一条数据
-- 1.2. 全字段插入
insert int `tb_name` values(field_valueA1, field_valueA2, ..., field_valueAN), (field_valueB1, field_valueB2, ..., field_valueBN)...; -- 可以插入多条数据
-- 1.3. 多行插入
insert into `tb_name`(field_name) values(value_1),(value_2);
-- 2. 查询数据
-- 2.1. 指定字段查询
select `field_name1`, `field_name2`, ..., `field_nameN` from `tb_name`;
-- 2.2. 全字段查询
select * from `tb_name`;
-- 2.3. where条件查询
select `field_name1`, `field_name2`, ..., `field_nameN` from `tb_name1`, `tb_name2`, ... where condition1 [and, or] condition2, ...;
-- conditions: 条件
-- 3. 修改数据
-- 3.1. 修改表中指定字段所有数据
update `tb_name` set `field_name1`=`field_value1`,`field_name2`=`field_value2`, ...;
-- 3.2. 满足条件修改
update tb_name set field_name=field_value where condition1 [and , or] condition2 ...;
-- 4. 删除数据
-- 4.1. 删除表中所有数据
delete from `tb_name`;
-- 4.2. 满足条件删除
delete from `tb_name` where condition1 [and, or] condition2;
五、字段的数据类型
mysql中字段类型分为数值类型, 字符类型, 时间日期类型
5.1 数值类型
数值类型 |
特征 |
tinyint 或 TINYINT |
只占一个字节可存放整数(0, 255) |
smallint 或 SMALLINT |
占两个字节可存放整数(0, 65535) |
mediumint 或 MEDIUMINT |
占三个字节可存放整数(0, 16777215) |
int 或 INT |
占四个字节可存放整数(0, 4294967295) |
bigint 或 BIGINT |
占八个字节 |
float(M,N) 或 FLOAT(M,N) |
单精度浮点数, M 位;N 位小数 |
double(M,N) 或 DOUBLE(M,N) |
双精度浮点数, M 位;N 位小数 |
5.2 字符类型
字符类型 |
特征 |
char(size) |
保存固定长度的字符串。在括号内指定的长度。最多255个字符。 |
varchar(size) |
保存可变长度的字符串,可以指定字符串的最大长度。最大长度为255,超过255会自动转化为text 类型 |
tinytext 或 TINYTEXT |
用来存放简短的文本数据。最多255个字符 |
text 或 TEXT |
用来存放长文本数据,最多65535个字符 |
longtext 或 LONGTEXT |
用来存放长文本数据,最多4294967295个字符 |
tinyblob 或 TINYBLOB |
用来存放较短的二进制数据。最多255个字符 |
blob 或 BLOB |
用来存放长二进制数据,最多65535个字符 |
longblob 或 longBLOB |
用来存放长二进制数据,最多4294967295个字符 |
enum 或 ENUM |
枚举类型。只有在这个类型里面的值才可以填充次字段。天然包含NULL值。 |
5.3 时间日期类型
时间日期类型 |
特征 |
date |
日期,格式:年-月-日 |
time |
时间,格式:小时:分钟:秒 |
datetime |
日期时间,格式:年-月-日 小时:分钟:秒 |
timestramp |
自动存放修改记录的时间 |
year |
年 |
六、where条件中的运算符
6.1 比较运算符
运算符 |
含义 |
= |
等于 |
< |
小于 |
> |
大于 |
<= |
小于或等于 |
>= |
大于或等于 |
!= 或<> |
不等于 |
is null |
是否为空值 |
is not null |
是否为非空值 |
6.2 逻辑运算符
运算符 |
含义 |
and |
与,同真为真 |
or |
或,一真则真 |
not |
非,表示取反 |