MySQL的简单使用
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 语句规范
- 关键字与函数名称全部大写
- 数据库名称、表名称、字段名称全部小写
- 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]
修改数据表名称
- ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name
- 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 外键约束
外键约束
外键约束的条件
- 父表和子表必须使用相同的存储引擎,而且禁止使用临时表。子表具有外键列的表,子表所参照的表称为父表。
- 数据表的存储引擎只能为InnoDB。
- 外键列和参照列必须具有相同的数据类型,其中数字的长度或是否有符号位必须相同,而字符串的长度则可以不同。
- 外键列和参照列必须创建索引,如果外键列不存在索引的话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));
外键约束的参照操作
- CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行
- 例如: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);
- SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL,如果使用该选项,必须保证子表列没有指定的NOT NULL
- RESTRICT:拒绝对父表的删除或更新操作
- 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的简单使用的更多相关文章
- jsp+servlet+mysql 实现简单的银行登录转账功能
jsp+servlet+mysql 实现简单的银行登录转账功能 [前期的准备] html(登录界面),servlet(处理业务逻辑),jsp(主要实现界面),mysql(实现与数据库的简单的交互)先从 ...
- Ubuntu 安装mysql和简单操作
http://www.cnblogs.com/zhuyp1015/p/3561470.html ubuntu上安装mysql非常简单只需要几条命令就可以完成. 1. sudo apt-get inst ...
- mysql定时任务简单例子
mysql定时任务简单例子 ? 1 2 3 4 5 6 7 8 9 如果要每30秒执行以下语句: [sql] update userinfo set endtime = now() WHE ...
- Mysql的简单使用(三)
接上文Mysql的简单使用(二) mysql中结构相同的两个表进行合并:(注意需要两个表的结构是一样的) 有如下结构的两个表father和person. 合并的步骤为: 1.把person表和fath ...
- PHP 17: MySQL的简单介绍
原文:PHP 17: MySQL的简单介绍 这一章将简单介绍MySQL的基本知识. 本文来自http://lib.hackbase.com/html/8/35125.htm. MySQL是最受欢迎的开 ...
- MySQL的简单使用-(一)
MySQL的简单使用 使用MySQL命令行工具 Windows 用户使用: MySQL Client, 输入密码 Linux: mysql -u用户名 -p密码 mysql -uroot -p 显示数 ...
- mysql安装简单教程(自动安装/配置安装)
mysql安装简单教程(自动安装/配置安装) 1.1前言: 由于特殊原因,在最近2-3个月里mysql真是安装了无数遍,每次安装都要上网找教程,每个教程基本都不一样,因此还是自己写下来比较好,毕竟自己 ...
- python操作三大主流数据库(2)python操作mysql②python对mysql进行简单的增删改查
python操作mysql②python对mysql进行简单的增删改查 1.设计mysql的数据库和表 id:新闻的唯一标示 title:新闻的标题 content:新闻的内容 created_at: ...
- Linux下MySQL的简单操作
Linux下MySQL的简单操作 更改mysql数据库root的密码 首次进入数据库是不用密码的: [root@localhost ~]# /usr/local/mysql/bin/mysql -ur ...
- MySQL基本简单操作03
MySQL基本简单操作 现在我创建了一个数据表,表的内容如下: mysql> select * from gubeiqing_table; +----------+-----+ | name | ...
随机推荐
- 理解Java对象序列化
http://www.blogjava.net/jiangshachina/archive/2012/02/13/369898.html 1. 什么是Java对象序列化 Java平台允许我们在内存中创 ...
- vim 在linux下中如何设置显示行数
在.vimrc(或/etc/vimrc)文件中输入如下文本: set tabstop=4 set softtabstop=4 set shiftwidth=4 set noexpandtab ...
- 项目自动化建构工具gradle 入门3——生一个exe的helloWorld
前两次呢,我们能够用一个外部的jar 来实现输出helloWorld.但问题是我每次都要用java -jar 来执行,这样我们自己玩还可以,让用户玩就不好了.所以我们生成一个exe给他们吧.这次我们仍 ...
- Chrome Developer Tools:Timeline Panel说明
一.Timeline panel 概况 Timeline工具栏可以详细检测出Web应用在加载过程中,时间花费情况的概览.这些应用包括下载资源,处理DOM事件, 页面布局渲染或者向屏幕绘制元素. 如下图 ...
- hdu1695 GCD(莫比乌斯反演)
题意:求(1,b)区间和(1,d)区间里面gcd(x, y) = k的数的对数(1<=x<=b , 1<= y <= d). 知识点: 莫比乌斯反演/*12*/ 线性筛求莫比乌 ...
- PAT 1050. 螺旋矩阵(25)
本题要求将给定的N个正整数按非递增的顺序,填入"螺旋矩阵".所谓"螺旋矩阵",是指从左上角第1个格子开始,按顺时针螺旋方向填充.要求矩阵的规模为m行n列,满足条 ...
- mac机上搭建php56/nginx 1.8.x/thinkphp 3.2.x/gearman扩展/seaslog扩展/redis扩展环境
php的各种扩展配置起来实在不容易,记录一下备忘: 一.php56 安装 虽然php7出来了,但是没用过,不知道有没有坑,这里仍然使用php5.6版本 1.1 安装php/php-pfm brew u ...
- Gradle 下载
gradle各个版本的下载地址 :http://services.gradle.org/distributions 下载完后的gradle怎么使用呢? //下面是网上提供的方法,仅供学习参考 在 ht ...
- 织梦DedeCMS
DedeAMPZ服务器套件 http://dedeampz.dedecms.com/ DedeCMS PHP开源网站管理系统 CMS系统 http://www.dedecms.com/produc ...
- py-faster-rcnn几个辅助脚本
py-faster-rcnn本身代码很棒. 不过使用它的时候,还是需要自己写一些脚本,作为辅助. 1 所有.py文件顶部添加utf8编码声明.因为有时候需要添加中文注释,不声明编码会报错 #inser ...