美文网首页MySQL
MySQL的学习记录

MySQL的学习记录

作者: 踏雪鸿雁 | 来源:发表于2016-10-29 21:31 被阅读12次

windows下启动MySQL服务:
用管理员打开CMD,
输入net start mysql启动服务
输入net stop mysql停止服务
备注:以上命令同样适应于管理其它服务。

mysql的登陆与退出
登陆:
C:\WINDOWS\system32>mysql -uroot -p -P3306 -h127.0.0.1

C:\WINDOWS\system32>mysql -uroot -p
退出:
mysql > exit;
mysql > quit;
mysql > \q;

常用命令
SELECT VERSION();//显示当前服务器版本
SELECT NOW();//显示当前日期时间
SELECT USER();//显示当前用户

SELECT DATABASE();

USE db_name; //打开数据库


Paste_Image.png Paste_Image.png

创建数据库:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name

查看创建的数据库的信息:
CREATE DATABASE db_name;

Paste_Image.png

修改数据库
ALTER {DATABASE | SCHEMA} [db_name]
[DEFAULT] CHARACTER SET [=] charset_name;

Paste_Image.png

删除数据库
DROP {DATABASE | SCEMA} [IF EXISTS] db_name;

Paste_Image.png Paste_Image.png

查看当前服务器下的数据表列表
SHOW {DATABASES | SCHEMAS}
[LIKE 'pattern' | WHERE expr]

查看警告信息:SHOW WARNINGS;

Paste_Image.png

创建数据表
CREATE TABLE [IF NOT EXISTS] table_name(
column_name data_type,
......
);

Paste_Image.png

语句规范
1、关键字与函数名称全部要大写;
2、数据库名称、表名称、字段名称全部要小写;
3、SQL语句必须以分号结尾。

Paste_Image.png Paste_Image.png

命令介绍:
List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
? (?) Synonym for `help'.
clear (\c) Clear the current input statement.
connect (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
ego (\G) Send command to mysql server, display result vertically.
exit (\q) Exit mysql. Same as quit.
go (\g) Send command to mysql server.
help (\h) Display this help.
notee (\t) Don't write into outfile.
print (\p) Print current command.
prompt (\R) Change your mysql prompt.
quit (\q) Quit mysql.
rehash (#) Rebuild completion hash.
source (.) Execute an SQL script file. Takes a file name as an argument.
status (\s) Get status information from the server.
tee (\T) Set outfile [to_outfile]. Append everything into given outfile.
use (\u) Use another database. Takes database name as argument.
charset (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.

primary key不一定与autoincrement一起使用,但autoincrement必须与primary key一起使用。
创建数据表举例:
CREATE TABLE tabelname (
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,username VARCHAR(20) NOT NULL UNIQUE KEY,sex ENUM('1','2','3') DEFAULT '3'
);

Paste_Image.png

查看数据表
SHOW TABLES [FROM db_name]
[LIKE 'pattern' | WHERE expr]
备注:不加[FROM db_name],则查看当前数据库的数据表
查看数据表结构
SHOW COLUMNS FROM table_name;

Paste_Image.png
插入记录
INSERT [INTO] table_name [(col_name,...)] VALUES(val,...);
如:INSERT tablename(username,sex) VALUES('tom','2'); Paste_Image.png

查找记录
SELECT expr,... FROM table_name;
如:SELECT * FROM tb1;

Paste_Image.png Paste_Image.png

备注: PRIMARY KEY 指定为主键,AUTO_INCREMENT自增长。
NOT NULL 不能为空,
UNIQUE KEY唯一约束,
DEFAULT 指定默认值。

Paste_Image.png Paste_Image.png

数据类型

Paste_Image.png Paste_Image.png Paste_Image.png

**空值 与 非空
NULL 字段可以为空
NOT NULL 字段不可以为空
主键 与 自动编号
主键:PRIMARY KEY,主键约束,每张数据表只能有一个主键,保证记录的唯一性,自动为NOT NULL。
自动编号:AUTO_INCREMENT, 必须与主键组合使用,默认情况下,起始值为1,增量为1。

唯一约束 UNIQE KEY

Paste_Image.png

默认约束 DEFAULT
当插入记录时,如果没有明确为字段赋值,则自动赋予默认值。

Paste_Image.png

约束

Paste_Image.png Paste_Image.png

外键约束 FOREIGN KEYp
作用:保持数据的一致性,完整性;实现一对一或一对多的关系。
数据表从存储引擎,修改my.ini文件中default-storage-engine=INNODB
外键约束的要求:

Paste_Image.png Paste_Image.png Paste_Image.png

查看参照列或外键列是否存在索引:
SHOW INDEXES FROM table_name;


Paste_Image.png

以网格的形式呈现(加上\G):
SHOW INDEXES FROM table_name\G;


Paste_Image.png

3.3 外键约束的参照操作

Paste_Image.png

删除记录:DELETE FROM table_name WHERE 条件

数据表的修改

  • 添加单列
    ALTER TABLE table_name [COLUMN] column_name column_definition [FIRST | AFTER column_name]
    如:ALTER TABLE users ADD age TINYINT UNSIGNED NOT NULL AFTER username;//添加age列到username列后面


    Paste_Image.png
  • 添加多列
    ALTER TABLE table_name [COLUMN] (col_name column_definition,...)//添加多列时,只能添加的末尾


    Paste_Image.png
  • 删除列
    ALTER TABLE table_name DROP [COLUMN] col_name;// 删除单列
    ALTER TABLE table_name DROP [COLUMN] col_name,DROP [COLUMN] col_name...// 删除多列
    备注:添加和删除列可以同时操作,操作间用“,”分隔,如:
    ALTER TABLE users DROP username,ADD _id SMALLINT UNSIGNED NOT NULL;
  • 添加主键约束
Paste_Image.png
  • 添加唯一约束
Paste_Image.png
  • 添加/删除默认约束
Paste_Image.png
  • 删除主键约束
Paste_Image.png
  • 删除外键约束

  • 修改列定义

Paste_Image.png
  • 修改列名称
Paste_Image.png
  • 数据表更名
Paste_Image.png
  • 小结


    Paste_Image.png

操作数据表中的记录

可以插入表达式、函数、值


Paste_Image.png

备注:为自动编号赋值可以为NULL,也可以为DEFAULT;省略了列,所有的列必须依次赋值。

Paste_Image.png Paste_Image.png

(这种方法,只能一次插入一条语句)

Paste_Image.png

更新记录UPDATE

Paste_Image.png

注意:省略条件WHERE将更新所有的记录

Paste_Image.png

如:UPDATE users SET age = age - id, sex = 0;//将更新所有记录,可以更新一个字段,也可以更新多个字段,用“,”分隔。

删除记录

Paste_Image.png

如:DELETE FROM users WHERE id = 6;

查找记录

Paste_Image.png Paste_Image.png Paste_Image.png Paste_Image.png

WHERE 条件表达式

Paste_Image.png

GROUP BY查询记过分组

Paste_Image.png Paste_Image.png

ORDER BY对查询结果进行排序

Paste_Image.png Paste_Image.png

LIMIT 限制查询结果返回的数量

Paste_Image.png

拓展资料:21分钟 MySQL 入门教程 http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html

相关文章

  • MySql学习(一)基础框架 一条SQL查询语句如何执行的?

    学习《MySQL实战45讲》- 林晓斌,做的笔记和记录,记录、总计、思考。 目录: MySql基础架构(Serve...

  • 前言

    这里记录学习mysql的经历,以便以后回顾

  • 1. 基本查询语句回顾

    本文章将记录学习mysql过程中的学习笔记工具:Sequel Pro , MySql for mac 简单查询 2...

  • MySQL的学习记录

    windows下启动MySQL服务:用管理员打开CMD,输入net start mysql启动服务输入net st...

  • MySql学习记录

    MySql的配置: 字符集配置 修改/etc/my.cnf,在[mysqld]节点下default-charact...

  • mysql 学习记录

    一、在 MySQL 客户端输入以下命令: show global variables like "%datadir...

  • MySQL学习记录

    Databases are everywhere. So what is a database? By defi...

  • MySQL学习记录

    MySQL 下载与安装配置 也可去MySQL官网去找相应的msi后缀的下载名,那个不用手动配置,有指引配置项 My...

  • mysql 学习记录

    mysql 学习记录 二、基本命令 2.1设置数据库区分大小写 数据库大小写设置参数lower_case_tabl...

  • mySQL学习记录

    基础知识: 数据库:存储数据的仓库,本质是一个文件系统,数据库按照特定的格式将数据存储起来。常用数据库:MySQL...

网友评论

    本文标题:MySQL的学习记录

    本文链接:https://www.haomeiwen.com/subject/mmjeuttx.html