使用命令行连接本机mysql:
执行下边命令,默认是已经把mysql添加到环境变量里了。
1、连接远程的mysql数据库
mysql -h主机名 -P端口号 -u主机名 -p密码
2、连接本机的mysql数据库 可不写主机和端口号:
mysql -u主机名 -p密码
查看mysql版本号:
mysql --version 或 mysql -V
==================================================================
mysql语法规范:
(1)不区分大小写,但是建议关键字大写,表名和列名小写。
(2)每条命令用分号结尾。
(3)每条命令根据需要,可以进行缩进 或 换行。
(4)注释
单行注释: #+注释文字 或 --空格+注释文字
多行注释: /*注释文字*/
(5)\s 查看当前数据库状态
使用mysql命令:
1、显示mysql中的所有的数据库
show databases;
注:在每一行命令结束时必须写分号 ; 或者 \g 。
2、显示当前库中的所有表 - 首先:use 库名;然后:show tables;
查看其他库的所有表 - show tables from 库名;
3、查看某个表在哪一个库里边。
select database( );
4、在某一数据库下,新创建一个表。
create table 表名(
-> id int [ 字段约束 ],
-> test_id int [ 字段约束 ],
-> 列名 varchar(20) [ 字段约束 ],
-> constraint 别名 foregn key test_id references 表2(id) -- 这话意思为:添加外键约束,为外键起了个别名(当前不写 constraint 别名 也行,会有默认的),把test_id 与 表2的id关联。
);
添加成功。
补充 -:
1、当使用代码来创建表的时候,一定要 使用if not exists 来判断下表是否存在:
create table if not exists 表()
2、在Navicat中使用sql来创建表的时候,字段不能使用单引号或双引号否则报错:
直接写字段:
表字段约束:
unsigned - 无符号(正数);
auto_increment - 自增,默认从1开始。补充:oracle当中也提供了一个自增机制,叫做:序列(sequence)对象;
default - 默认值,如果该字段没有插入值,则显示默认值;
not null - 非空,限制该字段为必填项;
PRIMARY KEY - 主键,限制该字段值,非null,并不重复;
FOREIGN KEY - 外键约束。表示两个表的关系;
格式:foreign key 外键字段 references 表(被引用的字段) -- 被引用的字段可以不为主键,但是,必须是唯一的 unique。
unique - 唯一性(可为空null,但不重复);
index - 常规索引;
check - 检查约束,目前mysql数据库没有check 约束,oracle 数据库有check约束。