MySQL 参数

    参数

描述

备注

-D,--database=、name

打开指定数据库

mysql –uroot –procky –Dhisdb 或者mysql –uroot –procky --database=hisdb

root:用户名rocky:密码hisdb:数据库名称

--delimiter=name

指定分隔符

 

-h, --host=name

指定服务器名称

同上,本地服务器可以用127.0.0.1或者localhost

-p, --password=name

密码

mysql –uroot –procky 或者mysql –uroot --password=rocky

-P, --port=#

端口号

默认是端口号是my.ini配置中的数字

--prompt=name

设置提示符

登陆后也可以使用prompt [提示符]的方法修改提示符

-u, --user=name

用户名

同上

-V, --version

输出版本信息并且退出

 

备注:所有参数注意大小写

MySQL 退出

    登陆到mysql 后。输入以下命令即可退出mysql

mysql > exit;

mysql > quit;

mysql > \q;

MySQL 提示符参数

参数

描述

\D

完整日期

\d

当前数据库名称

\h

当前服务器名称

\u

当前用户

MySQL 常用命令

命令

描述

SELECT VERSION()

显示当前服务器的版本号

SELECT NOW()

显示当前日期

SELECT USER()

显示当前用户

SHOW {DATABASES|SCHEMAS}

[LIKE 'pattern' | WHERE expr

查看当前服务器的数据库列表

SHOW WARNINGS

查看警告信息

ALTER {DATABASE|SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name

修改数据库的编码方式

DROP {DATABASE|SCHEMA} [IF EXISTS] db_name

删除数据库

SHOW DATABASES

显示数据库

SHOW TABLES [FROM db_name]

显示数据表

SHOW COLUMNS FROM tb_name

查看数据表的结构

MySQL 语句规范

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

创建数据库

    格式:CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] chartset_name

    范例:CREATE DATABASE hisdb;

    说明:DATABASE 和SCHEMA完全相同,任选其一即可。

        IF NOT EXISTS 假设创建的数据库存在,就不创建

        DEFAULT CHARACTER 数据库的编码方式。

修改数据表

添加单列

    ALTER TABLE tbl_name ADD [COLUMN] col_name column_definiton [FIRST | AFTER col_name]

    FIRST表示新添加的列位于最前面,AFTER col_name表示在某一列后面,默认添加到最后一列

添加多列

    ALTER TABLE tbl_name ADD [COLUMN] (col_name column_difinition, col_name column_difinition);

删除列

    ALTER TABLE tbl_name DROP col_name

修改列定义

    ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST|AFTER colname]

修改列名称

    ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FRIST|AFTER col_name]

修改数据表名称

  1. ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name
  2. RENAME TABLE tbl_name TO new_tbl_name [,tbl_name2 TO new_tbl_nme]…

自动编号

    自动编号必须跟主键组合使用,默认情况下,起始值为1,增量为1.

主键

    主键约束

    每张数据表只能存在一个主键

    主键保证记录的唯一性

    主键自动为NOT NULL    

CREATE TABLE tb2 ( id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,

username VARCHAR(20) NOT NULL);

唯一约束

    唯一约束可以保证记录的唯一性

    唯一约束的字段可以为空

    每张表中可以存在多个唯一约束

CREATE TABLE tb3 (id SMALLINT UNSIGNED UNIQUE KEY,

         username VARCHAR(20) NOT NULL);

默认值

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

约束

    约束保证了数据的完整性和一致性

    约束分为表级约束和列级约束。表级约束表示约束两个或两个以上的字段列级约束表示约束一个字段,表级约束只能在列定义后声明

    约束类型:

        NOT NULL 非空约束 不存在表级约束,只有列级约束

        PRIMARY KEY 主键约束

        UNIQUE KEY 唯一约束

        DEFAULT 默认约束 不存在表级约束,只有列级约束

        POREIGN KEY 外键约束

外键约束

外键约束的条件

  1. 父表和子表必须使用相同的存储引擎,而且禁止使用临时表。子表具有外键列的表,子表所参照的表称为父表。
  2. 数据表的存储引擎只能为InnoDB。
  3. 外键列和参照列必须具有相同的数据类型,其中数字的长度或是否有符号位必须相同,而字符串的长度则可以不同。
  4. 外键列和参照列必须创建索引,如果外键列不存在索引的话MySQL将自动创建索引。参照列不会自动创建索引。

范例:

    父表的创建:CREATE TABLE province ( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, pname VARCHAR(20) NOT NULL);

    子表的创建:CREATE TABLE city (id SMALLINT UNSIGNED PRIMARY KEY AUTOINCREMENT,name VARCHAR(20) NOT NULL, pid SMALLINT UNSIGNED, FOREIGN KEY (pid) REFERENCES province (id));

外键约束的参照操作

  1. CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行
    1. 例如:CREATE TABLE city (id SMALLINT UNSIGNED PRIMARY KEY AUTOINCREMENT,name VARCHAR(20) NOT NULL, pid SMALLINT UNSIGNED, FOREIGN KEY (pid) REFERENCES province (id) ON DELETE CASCADE);
  2. SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL,如果使用该选项,必须保证子表列没有指定的NOT NULL
  3. RESTRICT:拒绝对父表的删除或更新操作
  4. NO ACTION:标准SQL的关键字,在MySQL中与RESTRICT相同

修改约束

添加约束

    ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,……)

    CONSTARINT是给约束起名称,可不加

删除约束

    ALTER TABLE tabl_name DROP {INDEX|KEY} index_name

INSERT

    INSERT [INTO] tbl_name [(tbl_column,…)] {VALUES|VALUE} (expr|DEFAULT,…),(……)

    INSERT [INTO] tbl_name SET col_name={expr | DEFAULT},…

    INSERT [INTO] tbl_name [(col_name,…)] SELECT…

UPDATE 单表更新

    UPDATE [LOW_PRIORITY][IGNORE] table_reference SET col_name1={expr1 |DEFAULT}[,col_name2={expr2 | DEFAULT}]..[WHERE where_condition]

MySQL的简单使用的更多相关文章

  1. jsp+servlet+mysql 实现简单的银行登录转账功能

    jsp+servlet+mysql 实现简单的银行登录转账功能 [前期的准备] html(登录界面),servlet(处理业务逻辑),jsp(主要实现界面),mysql(实现与数据库的简单的交互)先从 ...

  2. Ubuntu 安装mysql和简单操作

    http://www.cnblogs.com/zhuyp1015/p/3561470.html ubuntu上安装mysql非常简单只需要几条命令就可以完成. 1. sudo apt-get inst ...

  3. mysql定时任务简单例子

    mysql定时任务简单例子 ? 1 2 3 4 5 6 7 8 9     如果要每30秒执行以下语句:   [sql] update userinfo set endtime = now() WHE ...

  4. Mysql的简单使用(三)

    接上文Mysql的简单使用(二) mysql中结构相同的两个表进行合并:(注意需要两个表的结构是一样的) 有如下结构的两个表father和person. 合并的步骤为: 1.把person表和fath ...

  5. PHP 17: MySQL的简单介绍

    原文:PHP 17: MySQL的简单介绍 这一章将简单介绍MySQL的基本知识. 本文来自http://lib.hackbase.com/html/8/35125.htm. MySQL是最受欢迎的开 ...

  6. MySQL的简单使用-(一)

    MySQL的简单使用 使用MySQL命令行工具 Windows 用户使用: MySQL Client, 输入密码 Linux: mysql -u用户名 -p密码 mysql -uroot -p 显示数 ...

  7. mysql安装简单教程(自动安装/配置安装)

    mysql安装简单教程(自动安装/配置安装) 1.1前言: 由于特殊原因,在最近2-3个月里mysql真是安装了无数遍,每次安装都要上网找教程,每个教程基本都不一样,因此还是自己写下来比较好,毕竟自己 ...

  8. python操作三大主流数据库(2)python操作mysql②python对mysql进行简单的增删改查

    python操作mysql②python对mysql进行简单的增删改查 1.设计mysql的数据库和表 id:新闻的唯一标示 title:新闻的标题 content:新闻的内容 created_at: ...

  9. Linux下MySQL的简单操作

    Linux下MySQL的简单操作 更改mysql数据库root的密码 首次进入数据库是不用密码的: [root@localhost ~]# /usr/local/mysql/bin/mysql -ur ...

  10. MySQL基本简单操作03

    MySQL基本简单操作 现在我创建了一个数据表,表的内容如下: mysql> select * from gubeiqing_table; +----------+-----+ | name | ...

随机推荐

  1. MVC中部分视图调用方法总结

    部分视图不走  controller @Html.Partial(“_Menu”);  //这种是不走Controller的,直接在加载_Menu的视图 @Html.Partial(“_Menu”, ...

  2. nginx服务傻瓜搭建

    nginx服务傻瓜搭建 安装步骤: 一.先准备好相关源码包和程序包,如下图 所有包都在云服务器的/src目录下. 二.安装 1.安装nginx服务器,支持vod stream.fileupload c ...

  3. Geeklink引领智慧新生活!

    煤油灯成为古董,管道天然气进入厨房,电脑挤进生活,手机代替书信成为通讯的主要工具-这些变化无不提醒我们,时代在变迁,科技在发展.而最近朋友圈和电视又在播报智能家居的生活方式-智能家电能实现怎样的情景功 ...

  4. Linux下使用crontab定时备份日志

    上周学习了Linux,其中有使用crontab定时备份日志的内容,现把主要步骤记录如下: 首先需要备份的日志的源目录位于/opt/lampp/logs/access_log 备份到/tmp/logs下 ...

  5. Leetcode: Convert sorted list to binary search tree (No. 109)

    Sept. 22, 2015 学一道算法题, 经常回顾一下. 第二次重温, 决定增加一些图片, 帮助自己记忆. 在网上找他人的资料, 不如自己动手. 把从底向上树的算法搞通俗一些. 先做一个例子: 9 ...

  6. java 多线程 Synchronized方法和方法块 synchronized(this)和synchronized(object)的理解

    synchronized 关键字,它包括两种用法:synchronized 方法和 synchronized 块. 1. synchronized 方法:通过在方法声明中加入 synchronized ...

  7. Linux进程环境

    Linux下C程序都是main开始的,main函数的原型是: int main(int argc, char **argv) 其中argc是命令行参数的数目,argc是指向参数的各个指针所构成的数组. ...

  8. C#剪切,复制,粘贴底层应用编写

    zz备用复制剪切粘贴的底层应用 /// <summary> /// 复制或剪切文件至剪贴板(方法) /// </summary> /// <param name=&quo ...

  9. 继承AppCompatActivity的Activity隐藏标题栏

    继承了AppCompatActivity的Activity无法通过调用requestWindowFeature(Window.FEATURE_NO_TITLE)来隐藏标题栏. public class ...

  10. iOS网络编程

    今天的重点是UIWebView.NSURLSession.JSon. 网络编程联网准备:1.在Info.plist中添加AppTransportSecurity类型Dictionary:2.在AppT ...