1、数据库登录:
1.登录本地的MYSQL数据库:mysql -u root -p
2.连接远程主机上的MYSQL数据库:mysql -h 192.168.191.2 -u root -p 123456
密码修改:mysqladmin -u root -p 旧密码 -password 新密码
mysqladmin -u root -p abs123 -password 123456
2、增加新用户并指定用户的权限,命令格式:grant 权限,权限2,... on 数据库名.数据表 to 用户名@用户的地址 identified by 密码
grant select ,insert,create,drop on test.student to [email protected] identifiled by 'abc123'
3、数据库备份:mysqldump -h 主机名 -P 端口号 -u 用户名 -p 密码 databasename datatablename > out.sql
导出数据库所有数据:mysqldump -u root -p 123456 test > out.sql
导出数据库数据表数据:mysqldump -u root -p 123456 test student > out.sql
导出数据库的表结构,不导出数据 mysqldump -u root -p --opt -d test > out.sql
导出数据而不导出结构 mysqldump -u root -p -t -d test > out.sql
导出特定表的结构 mysqldump -u root -p -d test --table student > out.sql
数据导入:
mysql test < out.sql
source out.sql
4、mysql 数据类型总结
MYSQL 数据类型 | 含义 |
整型 |
|
tinyint | 1个字节 |
smallint | 2个字节 |
mediumint | 3个字节 |
int(m) | 4个字节 |
bigint(m) | 8个字节 |
浮点数 | |
float(m,d) | 单精度浮点数 |
double(m,d) | 双精度浮点数 |
字符串 | |
char(n) | 固定长度,最多255个字符 |
varchar(n) | 可变长度,最多65535个字符 |
tinytext | 可变长度,最多255个字符 |
text | 可变长度,最多65535个字符 |
mediumtext | 可变长度,最多2的24-1次方个字符 |
longtext | 可变长度,最多2的32-1次方个字符 |
二进制数据 | |
tinyblob | 0-255字节 |
blod | |
mediumblod | |
long blod | |
日期时间类型 | |
date | 日期 2019-05-29 |
time | 时间 21:12:12 |
datetime | 日期时间 2019-05-29 21:12:12 |
timestamp | 自动存储记录修改时间,可以存放最后被修改的时间 |
5、MYSQL 关键字
MYSQL 关键字 | 含义 |
NULL | 数据列可以为NULL |
NOT NULL | 数据列不可以包含NULL值 |
DEFAULT | 默认值 |
PRIMARY KEY | 主键 |
AUTO_INCREMENT | 自动递增,适用于整数类型· |
UNSIGNED | 无符号 |
CHARACTER SET name | 指定一个字符集 |
6、创建数据库和数据表:create database 数据库名称 [其他选项]
7、使用数据库:use 数据库名
8、创建数据表: create table 表名(列声明1,列声明2,列声明3...)
例子:创建学生记录表,表有学号(ID),姓名(name),性别(sex),年龄(age), 入学日期(school_day)
create table student(
id int unsigned not null primary key,
name varchar(10) not null,
sex char(4) not null,
age tinyint unsigned not null ,
school_day datetime not null
)
9、数据表的增删改查操作
插入新数据:insert into student values(101,'peter','male','17','2019-5-29 12:12:00')
mysql> select * from student;
+----------+------------+-----------+-----------+---------------------+
| id | name | sex | age | school_day |
+----------+------------+-----------+-----------+---------------------+
| 101 | peter | male | 17 | 2019-05-29 12:12:00 |
+----------+------------+-----------+-----------+---------------------+
更新数据记录: update student set age=23 where id=101
删除操作:delete from student where age=18;
10、关于表格结构的操作
添加列:alter table student add address varchar(100) after age;
更改列的名称:alter table student change address addr char(69);
删除列:alter table student drop addr;
重命名表格:alter table student rename students;
11、删除数据库和数据表
删除表:drop table student;
删除数据库:drop database test;