- 启动mysql服务:
net start mysql
- 关闭mysql服务:
net stop mysql
- mysql 登录
参数 | 描述 |
---|---|
-D,--database=name | 打开指定数据库 |
--delimiter | 指定分隔符 |
-h,--host=name | 服务器名称 |
-p,--password[=name] | 密码 |
-P,--port=# | 端口号 |
--prompt=name | 设置提示符 |
-u,--user=name | 用户名 |
-V,--version | 输出版本信息并且退出 |
- mysql 退出
mysql > exit;
mysql > quit;
mysql > \q;
- 修改mysql提示符
1、链接客户端时通过参数指定:
shell>mysql -uroot -proot -prompt 提示符
用户名 密码
2、链接上客户端后,通过prompt命令修改
mysql>prompt 提示符;
windows环境下清屏的命令为:
cls
mysql提示符
参数 | 描述 |
---|---|
\D | 完整的日期 |
\d | 当前数据库 |
\h | 服务器名称 |
\u | 当前用户 |
- 显示当前服务器版本
SELECT VERSION();
- 显示当前日期时间
SELECT NOW();
- 显示当前用户
SELECT USER();
- 显示当前打开的数据库
SELECT DATABASE();
mysql语句的规范:
1、关键字
与函数名称
全部大写
;
2、数据库名称
、表名称
、字段名称
全部小写
;
3、sql语句必须以分号
结尾。创建数据库
# 花括号为必选项,方括号为可选项,竖线表示逻辑或
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name;
- 查看当前服务器的数据库列表
SHOW {DATABASES | SCHEMA} [LIKE 'pattern' | WHERE expr];
- 查看警告信息
SHOW WARNINGS;
- 显示某个数据库刚开始创建时的指令信息
SHOW CREATE DATABASE 数据库名;
- 修改数据库的字符集
ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name;
- 删除数据库
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name;
- 整型
数据类型 | 存储范围 | 字节 |
---|---|---|
TINYINT | 有符号值: 到 无符号值:到 |
1 |
SMALLINT | 有符号值:到 无符号值:到 |
2 |
MEDIUMINT | 有符号值:到 无符号值:到 |
3 |
INT | 有符号值:到 无符号值:到 |
4 |
BIGINT | 有符号值:到 无符号值:到 |
8 |
- 浮点型
数据类型 | 存储范围 |
---|---|
FLOAT[(M,D)] |
到 和到 M是数字总位数,D是小数点后面的位数。 若M和D被省略,根据硬件允许的限制来保存值。 单精度浮点数精确到大约7位小数位。 |
DOUBLE[(M,D)] |
到 和到 |
- 日期时间型
列类型 | 存储需求 |
---|---|
YEAR(年份) | 1 |
TIME(时间) | 3 |
DATA(日期) | 3 |
DATETIME(日期时间) | 8 |
TIMESTAMP(时间戳) | 4 |
- 字符型
列类型 | 存储需求 |
---|---|
CHAR(M)(定长类型) | M个字节, |
VARCHAR(M)(变长类型) | L+1个字节,其中 且 |
INTYTEXT | L+1个字节(+1表示最大的存储范围),其中 |
TEXT | L+2个字节,其中 |
MEDIUMTEXT | L+3个字节,其中 |
LONGTEXT | L+4个字节,其中 |
ENUM('value1','value2',...) | 1或2个字节,取决于枚举值的个数(最多65535个值) |
SET('value1','value2',...) | 1、2、3、4或者8个字节,取决于set成员的数目(最多64个成员) |
- 数据库表:
行(记录)
,列(字段)
。 - 打开数据库
USE 数据库名称;
- 创建数据库表
CREATE TABLE [IF NOT EXISTS] table_name(
column_name data_type,
...
# 最后一个字段不用加逗号
);
- 查看创建的数据库表
SHOW CREATE TABLE 数据库表名;
- 显示数据库的索引
SHOW INDEXES FROM 数据库表名\G;
# 参数\G:以列数据逐行显示,横向的表结构会转为纵向表结构输出,利于阅读
- 查看数据库列表
SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr];
- 查看数据库表结构
SHOW COLUMNS FROM tbl_name;
- 插入记录
# 法一:
INSERT [INTO] tbl_name [(col_name,...)] {VALUES| VALUE}({exrp|DEFAULT},...),(...),(...),...; # 插入多条记录,用逗号隔开
# 自增的主键值可以赋值为NULL或者DEFAULT
# 法二:
INSERT [INTO] tbl_name SET col_name={expr|DEFAULT},...
# 与法一的区别在于,此方法可以使用子查询(SubQuery)
# 法三:
INSERT [INTO] tbl_name [(col_name,...)] SELECT ...
# 此方法可以将查询结果插入到指定数据库表
- 查找记录
SELECT expr,... FROM tbl_name;
- 空值与非空:
NULL
:字段值可以为空;NOT NULL
:字段值禁止为空。 -
AUTO_INCREMENT
:自动编号(自增),且必须与主键组合使用
;默认情况下,起始值为1,每次的增量为1。 -
PRIMARY KEY
:主键约束,每张数据表只能存在一个主键约束
;主键保证记录的唯一性
;主键自动为NOT NULL
。 -
UNIQUE KEY
:唯一约束;可以保证记录的唯一性
;字段可以为空值(NULL)
;每张数据库表可以存在多个唯一约束
。 -
DEFAULT
:默认值;当插入记录时,若没有明确为字段赋值,则自动赋予默认值。