mysql学习笔记(一)

  • 启动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:默认值;当插入记录时,若没有明确为字段赋值,则自动赋予默认值。

你可能感兴趣的:(mysql学习笔记(一))