数据库

更多

创建数据库

1
CREATE DATABASE [IF NOT EXISTS] $DB_NAME;

参数

  • IF NOT EXISTS 相当于一个条件判断,判断你创建的这个数据库存不存在,不存在就创建,存在就跳过切不报错
  • CHARACTER SET 字符集、如果不指定则默认为utf8
  • COLLATE 效验规则、如果不指定则默认为utf8_general_ci(不区分大小写)、另外常见的一个是utf_bin(区分大小写)

创建数据库规则

  • 不能与其他数据库重名。
  • 名称最长为64个字符,而别名最多可达256个字符
  • 尽量不要使用MySQL关键字作为数据库名、表名、如果需要使用请用反引号包起来
  • 名称可以由任意字母、阿拉伯数字、下划线(_)和“$”组成,可以使用上述的任意字符开头,但不能使用单独的数字,否则会造成它与数值相混淆
  • 在默认情况下,Windows下数据库名、表名的大小写是不敏感的,而在Linux下数据库名、表名的大小写是敏感的。为了便于数据库在平台间进行移植,建议读者采用小写来定义 数据库名和表名

查看数据库列表

1
SHOW DATABASES;

删除数据库

1
drop database $DB_NAME;
备份恢复数据库

备份数据库、Dos命令行执行、一次可以备份多个

1
mysqldump -u$username -p$password -B $DB_NAME1 $DB_NAME2 $DB_NAME3 > $path+$filename.sql
1
2
#命令行写出密码会警告不安全
mysqldump: [Warning] Using a password on the command line interface can be insecure.

恢复数据库、MySQL命令行执行

1
source $path+$filename.sql;

更多

创建表

1
2
3
4
use `user`;
create table `user`(
`id` int,
)character set utf8 collate utf8_general_ci engine innodb;
  • 选择user数据库、创建一个字段为id、类型为int、字符集为utf8、效验规则为utf8_general_ci、引擎为innodb的表
  • 如果创建表时不指定字符集、效验规则、引擎,表就会应用数据库的字符集、效验规则、引擎
删除表
1
2
use $db_name;
delete from $table_name;
1
2
use user;
delete from user;
  • 删除use数据库的user表
查看表列表
1
2
use $db_name;
show tables;

约束

更多

not null
primary key
unique
foreifn key
check
自增长

SQL数据类型

更多

懒的弄了、直接用老韩的
img
img

CRUD

更多

Insert

Update

Delete

Select

单表

多表

函数

更多

统计

时间日期

字符串

数学

流程控制

索引

更多

主键索引

唯一索引

普通索引

全文索引