一、进入和退出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
非,表示取反