MySQL学习笔记(一)

原创 2015年11月20日 15:30:27

1.MySQL
启动服务:net start mysql
停止服务:net stop mysql
登录:mysql -uroot -p -P3306 -h127.0.0.1
退出:
mysql > exit;
mysql > quit;
mysql > \q;
2.修改MySQL提示符
连接客户端时通过参数指定:
shell>mysql -uroot -pxxxx --prompt 提示符
连接上服务端后,通过prompt命令修改:
mysql>prompt 提示符
3.MySQL提示符

参数 描述
\D 完整的日期
\d 当前数据库
\h 服务器名称
\u 当前用户

4.MySQL常用命令
显示当前服务器版本
SELECT VERSION();
显示当前日期时间
SELECT NOW();
显示当前用户
SELECT USER();
5.MySQL语句的规范
(1)关键字与函数名称全部大写
(2)数据库名称、表名称、字段名称全部小写
(3)SQL语句必须以分号结尾
6.创建数据库
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name;
7.查看当前服务器下的数据库列表
SHOW {DATABASES | SCHEMAS} [LIKE 'pattern' | WHERE expr];
8.修改数据库默认编码
ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name;
9.删除数据库
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name;
10.数据类型
数据类型是指列、存储过程参数、表达式和局部变量的数据特征,他决定了数据的存储格式,代表了不同的信息类型。
11.查询当前数据库
SELECT DATABASE();
12.创建数据表

CREATE TABLE [IF NOT EXISTS] table_name(
    column_name data_type,
    ...
)

13.查看数据表列表

SHOW TABLES [FROM db_name]
[LIKE 'pattern' | WHERE expr]

14.查看数据表结构
SHOW COLUMNS FROM tb_name
15.插入记录
INSERT [INTO] tb_name[(col_name,...)] VALUES(val,...)
16.记录查找
SELECT expr,... FROM tb_name
17.空值与非空
NULL,字段值可以为空
NOT NULL,字段值禁止为空
18.AUTO_INCREMENT
自动编号,且必须与主键组合使用
默认情况下,起始值为1,每次的增量为1
19.UNIQUE
唯一约束可以保证记录的唯一性
唯一约束的字段可以为空值(NULL)
每张数据表可以存在多个唯一约束
20.DEFAULT
默认值
当插入记录时,如果没有明确为字段赋值,则自动赋予默认值。
21.约束
(1)约束保证数据的完整性和一致性
(2)约束分为表级约束和列级约束
(3)约束类型包括
NOT NULL(非空约束) PRIMARY KEY(主键约束) UNNIQUE KEY(唯一约束) DEFAULT(默认约束) FOREIGN KEY(外键约束)
22.FOREIGN KEY
保持数据一致性,完整性。
实现一对多或一对一关系。
23.外键约束的要求
(1)父表和子表必须使用相同的存储引擎,而且禁止使用临时表。
(2)数据表的存储引擎只能为InnoDB。
(3)外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同;而字符的长度则可以不同。
(4)外键列和参照列必须创建索引。如果外键列不存在索引的话,MySQL将自动创建索引。
24.编辑数据表的默认存储引擎
MySQL配置文件
default-storage-engine=INNODB
25.查看表的配置信息
SHOW CREATE TABLE tb_name;
26.外键约束的参照操作
(1)CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行
(2)SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL。如果使用该选项,必须保证子表列没有指定NOT NULL
(3)RESTRICT:拒绝对父表的删除或更新操作
(4)NO ACTION:标准SQL的关键字,在MySQL中与RESTRICT相同
27.表级约束和列级约束
对一个数据列建立的约束,称为列级约束
对多个数据列建立的约束,称为表级约束
列级约束既可以在列定义是声明,也可以在列定义之后声明表级约束只能在列定义后声明
28.修改数据表
(1)添加单列
ALTER TABLE tb_name ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name]
(2)添加多列
ALTER TABLE tb_name ADD [COLUMN](col_name col_definition,...)
(3)删除列
ALTER TABLE tb_name DROP [COLUMN] col_name
(4)添加主键约束
ALTER TABLE tb_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type](index_col_name,...)
(5)添加唯一约束
ALTER TABLE tb_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] (index_col_name,...)
(6)添加外键约束
ALTER TABLE tb_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name](index_col_name,...) reference_definition
(7)添加/删除默认约束
ALTER TABLE tb_name ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
(8)删除主键约束
ALTER TABLE tb_name DROP PRIMARY KEY
(9)删除唯一约束
ALTER TABLE tb_name DROP {INDEX | KEY} index_name
(10)删除外键约束
ALTER TABLE tb_name DROP FOREIGN KEY fk_symbol
(11)修改列定义
ALTER TABLE tb_name MODIFY [COLUMN] col_name col_definition [FIRST | AFTER col_name]
(12)修改列名称
ALTER TABLE tb_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST | AFTER col_name]
29.数据表更名
方法一:ALTER TABLE tb_name RENAME [TO | AS] new_tb_name
方法二:RENAME TABLE tb_name TO new_tb_name[,tb_name2 TO new_tb_name2]

版权声明:本文为博主原创文章,未经博主允许不得转载。

Mysql学习笔记(一)(有点乱,但是知识点比较齐全)新手必看。

良好的理解sql语句: 列:理解可以运算的成变量 where: 理解成表达式,放在行中看是否成立 查出来的结果可以当成一张表理解,select 套用select综合查询; ...
  • leilei107
  • leilei107
  • 2013年11月19日 17:26
  • 2395

MySQL学习笔记---基础概念和一些基础SQL语句(一)

MySQL学习笔记,以防遗忘 数据库基本概念 数据库:保存有组织的数据的容器(通常是一个文件或一组文件)。 表:某种特定类型数据的结构化清单,数据库中的表都有一个唯一的名字用来标识自己。 模式:关于数...
  • Jung_zhang
  • Jung_zhang
  • 2016年04月14日 20:11
  • 1714

《高性能MySQL》学习笔记二

今天打算继续学习《高性能MySQL》的第四章,有关数据库的优化。Schema与数据类型优化前置知识:如何设计数据库? 关于这方面我是在CSDN博客上找文章看的。选择优化的数据类型三大原则:(简单、小...
  • u012723607
  • u012723607
  • 2017年08月09日 15:35
  • 105

高性能MySQL学习笔记(1) —— MySQL架构

MySQL逻辑架构 MySQL逻辑架构图如下: 这里分为三层: 1.连接层:连接与线程处理,这一层并不是MySQL独有,一般的基于C/S架构的都有类似组件,比如连接处理、授权认证、安全等。 ...
  • a327369238
  • a327369238
  • 2016年09月02日 11:20
  • 616

MySQL技术内幕InnoDB存储引擎学习笔记(第一章)

第一章 MySQL体系结构和存储引擎 一、实验环境 宿主机系统:windows7 虚拟机:OracleVMVirtualBox Linux:ubuntukylin-14.04.1-amd64.iso ...
  • lanonola
  • lanonola
  • 2016年07月13日 21:20
  • 1004

【MySQL数据库】——全程学习笔记(自己复习用,大家不要看。。)

下载安装http://dev.mysql.com/downloads/file/?id=457403 默认就好数据类型 基本操作 功能 命令 备注 启动MySQL服务 n...
  • potato47
  • potato47
  • 2016年09月29日 21:29
  • 844

《MySQL高效编程》学习笔记--基础篇

启动MySQL监视器创建数据库–启动–mysql -u yonghuming -p mysql -u yonghuming -p密码 无密码可省略 -p–设定root密码–mysqladmin ...
  • qwerty_bibabo
  • qwerty_bibabo
  • 2017年02月07日 19:50
  • 1243

《MySQL必知必会》学习笔记十五(触发器)------掌握部分

MySQL必知必会》学习笔记整理
  • sinat_28978689
  • sinat_28978689
  • 2017年02月20日 20:06
  • 220

MySQL学习笔记 2:约束、修改数据表和操作数据表中的记录

一、约束以及修改数据表 1.约束分类    约束:表级约束、列级约束    约束:NOT NULL , PRIMARY KEY , UNIQUE KEY , DEFAULT , FOREIGN KE...
  • Seawood_Xie
  • Seawood_Xie
  • 2017年04月24日 08:44
  • 262

《MySQL必知必会》学习笔记

科技优家 2017-01-04 11:24 数据库:数据库是一种以某种有组织的方式存储的数据集合。其本质就是一个容器,通常是一个或者一组文件。 表:表示一种结构化的文件,可用来存储某种特定类型...
  • u011277123
  • u011277123
  • 2017年01月11日 17:23
  • 606
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL学习笔记(一)
举报原因:
原因补充:

(最多只允许输入30个字)