一、进入和退出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

非,表示取反