- 环境:windows10 mysql5.6
启动停止mysql
- net start mysql
- net stop mysql
修改mysql提示符
-
连接客户端是通过参数指定
-
shell>mysql -uroot -proot --prompt 提示符
-
连接上客户端后,通过prompt
-
mysql>prompt 提示符
-
mysql>prompt \u@\h \d>
mysql常用命令
- 显示当前服务器版本
- SELECT VERSION()
- 显示当前日期时间
- SELECT NOW()
- 显示当前用户
- SELECT USER()
mysql语句的规范
- 关键字与函数名称全部大写
- 数据库名称、表名称、字段名称全部小写
- sql语句必须以分号结尾
操作数据库
- {} 必选项
- [] 可选项
查看当前服务器下的数据库
- SHOW { DATABASES | SCEMAS } [ LIKE ’ pattern ’ | WHERE expr]
创建数据库
-
CREATE {DATABASE | SCHEMA} {IF NOT EXISTS} db_name [DEFAULT] CHARACTER SET [ = ] charset_name
-
查看数据库编码方式
-
SHOW CREATE DATABASE database_name
修改数据库
- ALTER { DATABASE | SCHEMA } [ db_name ] [ DEFAULT ] CHARACTER SET [ = ] charset_name
删除数据库
- DROP { DATABASE | SCHEMA } [ IF EXISTS ] db_name
查看报错信息
-SHOW WARNINGS
mysql数据类型
- 数据类型是指列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。
*** 数据优化的其中一个原则:选择最合理的数据类型,而不是最大的数据类型 ***
- YEAR:两位或四位(默认四位) 1970~2069
- TIME:-8385959 ~ 8385959
- DATE:1000年1月1日到9999年12月31日
- DATETIME:1000年1月1日0时到9999年12月31日12时59分
- TIMESTAMP:1970年1月1日0时-2037
*** 开发过程中日期时间类型使用较少,考虑到时区问题
数据表的操作
- 行为记录,列为字段
创建数据表
-
CREATE TABLE [ IF NOT EXISTS ] table_name(
-
column_name data_type,
-
…
-
)
-
例:
-
CREATE TABLE tb1(
-
username VARCHAR(20),
-
age TINYINT UNSIGNED,
-
SALARY FLOAT(8,2) UNSIGNED
-
)
空值与非空
- NULL,字段值可以为空
- NOT NULL, 字段值禁止为空
*** 自动编号 AUTO_INCREMENT ***
- 自动编号,*** 且必须与主键组合使用 ***
- 默认情况下,起始值为1,每次的增量为1
*** 主键约束 PRIMARY KEY ***
- 主键约束
- 每张数据表只能存在一个主键
- 主键保证记录的唯一性
- 主键自动为NOT NULL
*** 唯一约束 UNIQUE KEY ***
- 唯一约束
- 唯一约束可以保证记录的唯一性
- 唯一约束的字段可以为控制(NULL)
- 每张数据表可以存在多个唯一约束
*** 默认约束 DEFAULT ***
- 默认值
- 当插入记录时,如果没有明确为字段赋值,则自动赋予默认值
查看数据表
- SHOW TABLES [FROM db_name] [LIKE ‘PATTERN’ | WHERE expr]
查看数据表结构
- SHOW COLUMNS FROM tbl_name
插入记录
- INSERT [ INTO ] tbl_name [(col_name,…)] VALUES(val,…)
记录查找
- SELECT expr,… FROM tbl_name