windows下cmd中命令:
 
cls清空
上下箭头进行命令历史命令切换
----------------------------------------------------------------------------------------------------------------
使用命令行启动MySQL服务
 
(1)    启动MySQL服务----  net start mysql
(2)    关闭MySQL服务----  net stop mysql
所有的windows系统的服务都可用net start 和net stop;
----------------------------------------------------------------------------------------------------------------
MySQL登陆:
mysql -v;(版本信息);
mysql -u[username] -p[password] -P[port][default:3306] -h[ip][default:127.0.0.1](默认端口和本机登录无须写-P和-h)
 
参数目录:
-v  ----- 版本
-u  ----- 用户名
-p  ----- 密码
-P  ----- 端口号
-h  ----- 服务器
 
MySQL退出:
exit;
quit;
\q
----------------------------------------------------------------------------------------------------------------
修改MySQL提示符:
 
连接客户端时通过参数指定
shell>mysql -uroot -proot -prompt \h>
连接上客户端后,通过ormpt
mysql>prompt \h>
 
回车后变成:
localhost>
 
参数目录:
\D-----  完整的日期
\d------ 当前数据库
\h------ 服务器名称
\u------ 当前用户
 
例子:mysql>PROMPT \u@\h \d>
输出结果:root@localhost(none)>
(输出结果:root(当前用户)@localhost(主机名称) (none)(么有打开数据库)>)
----------------------------------------------------------------------------------------------------------------
mysql 常用命令:
 
select version()   显示当前服务器版本
select now()       显示当前日期时间
select user()       显示当前用户
 
mysql语句的规范:
 
1) 关键字与函数名称全部大写
2 )  数据库名称、表名称、字段名称全部小写
3 )  语句必须以分号;结尾
----------------------------------------------------------------------------------------------------------------
查看当前服务器下的数据库列表
show databases
 
{}必选项|或者 []可选项
创建数据库
CREATE {DATABASE | SCHEMA}[IF NOT EXISTS] db_name
[DEFAULT]   SET [=] charset_name
修改数据库:
ALTER {DATABASE | SCHEMA}[db_name]
[DEFAULT] CHARACTER SET [=] charset_name
删除数据库
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
展示告警
show warnings
查看创建数据库语句命令:
SHOW CREATE DATABASE jj;
----------------------------------------------------------------------------------------------------------------
数据类型是指列,存储过程参数,表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型;
 
整形:
TINYINT       :有符号-128~127:                                                                 无符号0-255;                                   占1字节;
SMALLINT   :有符号-32768~32767:                                                         无符号0~65535;                              占2字节;
MEDIUMINT:有符号-8388608~8388607:                                                 无符号0~16777215;                        占3字节;
INT              :有符号-2147483648~2147483647:                                     无符号0-4294967259;                     占4字节;
BIGINT         :有符号-9223372036854775808~9223372036854775807:无符号0~18446744073709551615;占8字节。
 
浮点型
FLOAT[(M,D)]
M是数字总位数,D是销售古典后面的位数。如果MD被省略 ,根据硬件允许的限制来保存值,
单精度数精确到大约7位小数位。
 
DOUBLE[(M,D)]
小数值范围大约是单精度的10倍,
 
日期时间型                  所占字节大小
YEAR                                  1
TIME                                  3    
DATA                                 3
DATATIME                         8
TIMSTAMP(时间戳)        4
 
字符型:
1、CHAR(M)                   M个字节,0<=M<=255,定长类型;什么是定长类型?我们写了一个CHAR(5)  只写了一个ABC,他在计算机中存储的时候,除了把ABC存进来,还将补充两个空格。
2、VARCHAR(M)            是变长类型,假设存ABC,那么存的就是ABC,0~65535.
3、TINYTEXT,                 2的8次方;
4、TEXT,                        2的16次方字节。
5、MEDIUMTEXT,       2的24次方。
6、LONGTEXY,           2的32次方。
7、ENUM,                 1或2个字节,取决于枚举值的个数(最多65535个值)。
8、SET,1,2,3,4,或者8个字节,取决于set成员的数目(最多64个成员)。
----------------------------------------------------------------------------------------------------------------
创建数据表
步骤1打开数据库:use t1;( 要打开的数据库)
 
步骤2:CREATE TABLE mytable(数据表的名字)(
      column_name data_type,
      //列名       类型 ,
       ....
);
UNSIGNED 无符号(没有负值);
列:
CREATE TABLE tb3 (
id SMALLINT UNSIGNED AUTO_INCREMENT,
username VARCHAR(30) NOT NULL ,
PRIMARY KEY(id)
);
----------------------------------------------------------------------------------------------------------------
 
查看当前数据库:SELECT DATABASE();
查看当前库中的数据表:SHOW TABLES;
查看任意库中的数据表:SHOW TABLES FROM db_name;
查看数据表结构:SHOW COLUMNS FROM table_name;
查看系统支持的存储引擎:Show engines;
查看表使用的存储引擎:show table status from db_name where name='table_name';
插入记录:INSERT [INTO] tbl_name [(col_name,...)] VALUES(val,...)
查看创建表语句:SHOW CREATE TABLE table_name;
记录查找:SELECT * FROM tbl_name;
查询索引: SHOW INDEXES FROM provinces\G;
 
null 允许为空值;
not null 不允许未空值;
AUTO_INCREMENT 自增属性,必须和主键组合使用
 
PRIMARY KEY  主键约束:
                每张数据表只能存在一个主键
                主键保证记录的唯一性
                主键自动为not null;
UNIOUE KEY  唯一约束:
                可以保证记录唯一性
                字段可以为空
                每张表可以存在多个唯一约束
DEFAULT  默认值
                在插入记录是如果没有明确为字段赋值,则自动赋予默认值;
FOREIGN KEYp:
                保持数据一致性,完整性。
                实现一对一或一对多关系
 
外键约束的要求:
1,父表和子表必须使用相同的存储引擎,而且禁止使用临时表。(父表:子表所参照的表子表:具有外键列的表)
 
2,数据表的存储引擎只能为InnoDB。
 
3.外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同;而字符的长度则可以不同。( 外键列:曾经加过FOREIGN KEYp的列,参照列:外键列所参照的列称为参照列)
 
4,外键列和参展列必须创建索引。如果外键列不存在索引的话,mysql将自动创建索引 。( 如果参照列不存在索引的话,mysql不会自动创建索引。但如果参照列为主键的话,则会自动创建索引。主键在创建的同时会自动创建索引,所以参照列其实已经有了索引。而外键列上没有创建索引,mysql则会自动创建索引。)
 
编辑数据表的默认存储引擎
mysql配置文件
        default-storage-engine=INNODB;
        
创建外键:FOREIGN KEY (pid) REFERENCES provinces (id);
参照操作
在创建表的时候;
在foreign key (pid) references provinces(id) on delete cascade,(这样书写)
 
1、添加单列:如果指定FIRST,则在整个表的最前方,默认不写为整个表的最后方;如果指定AFTER col_name,则在col_name的后面。
ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST  AFTER col_name]
2、添加多列:无法指定FIRST/AFTER、只能默认为最后方。
ALTER TABLE tbl_name ADD [COLUMN] (col_name column_definition,...)
3、删除单列
ALTER TABLE tbl_name DROP [COLUMN] col_name
4、删除多列(Ps:删除一列的同时,新增一列。其间用逗号隔开)
ALTER TABLE tbl_name DROP [COLUMN] col_name, DROP [COLUMN] col_name,DROP [COLUMN] col_name
 
 
 
1.添加主键约束
CONSTRAINT_PK主键名字为PK
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...)
e.g:ALTER TABLE users ADD CONSTRAINT PK_users_id PRIMARY KEY (id);
2.添加唯一约束
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...)
e.g:ALTER TABLE users ADD UNIQUE (username);
3.添加外键约束
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name](index_col_name,...) reference_definition
e.g:ALTER TABLE users ADD FOREIGN KEY (pid) REFERENCES provinces (id)
4.添加/删除默认约束 DEFAULT
ALTER TABLE tbl_name ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
e.g:
ALTER TABLE users ADD age TINYINT UNSIGNED NULL;
ALTER TABLE users ALTER age SET DEFAULT 15;
ALTER TABLE users ALTER age DROP DEFAULT;
 
一约束的 index_name 可通过 SHOW INDEX FROM table_name\G; 查询
删除主键约束:
ALTER TABLE table_name DROP PRIMARY KEY;
删除唯一约束:
ALTER TABLE table_name DROP INDEX index_name;
删除外键约束:
ALTER TABLE table_name DROP FOREIGN KEY (fk_symbol)通过查询系统默认给的名字;
外键约束的名字 fk_symbol 可通过 SHOW CREATE TABLE table_name; 查询
删除外键约束,查找CREATE TABLENAME 找到系统为外键约束添加的名字
 
1.修改列定义
ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST |AFTER col_name];
ALTER TABLE users2 MODIFY id SMALLINT UNSIGNED NOT NULL FIRST; //将id字段的位置提到第一列
SHOW COLUMNS FROM users2;
ALTER TABLE users2 MODIFY id TINYINT UNSIGNED NOT NULL; //修改数据类型,需注意数据丢失的问题
2.修改列名称
ALTER TABLE tbl_name CHANGE [COLUMN] col_name new_col_name column_definition [FIRST|AFTER col_name];
ALTER TABLE users2 CHANGE pid p_id TINYINT UNSIGNED; //修改列名称
3.数据表更名
方法1
ALTER TABLE tbl_name RENAME [TO/AS] new_tbl_name
ALTER TABLE users2 RENAME (to/as) users3;
SHOW TABLES;
方法2
RENAME TABLE tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2] ...
RENAME TABLE users5 TO users2;
尽量少使用数据表的列名及表名的更名。
2.约束
按功能划分:NOT NULL, PRIMARY KEY, UNIQUE KEY, DEFAULT, FOREIGN KEY
按数据列的数目划分:表级约束, 列级约束
3.修改数据表
针对字段的操作:添加/删除字段、修改列定义、修改列名称等。
针对约束的操作:添加/删除各种约束
针对数据表的操作:数据表更名(两种方式)

windows下cmd中命令操作的更多相关文章

  1. windows下cmd记录MYSQL操作

    我们在cmd下操作MYSQL,当需要复制某条命令的时候,需要右键标记,然后选取,然后......各种不方便! 有没有比较方便的方式,可以将我们的操作记录自动的实时保存下来,当我们需要操作的时候,可以高 ...

  2. Windows下cmd/powershell命令混淆绕过

    前言 在Windows下绕过杀毒软件的主动防御机制的常见思路. Bypass 1.特殊符号.大小写 常用符号: " ^ , ; 可以绕过一些常规的waf 2.环境变量 拿到一台机器时,可以先 ...

  3. windows下cmd组合命令和管道命令

    组合命令:&& 管道命令:|

  4. Windows下CMD常用命令

    清理DNS的缓存 ipconfig /flushdns 查看dns nslookup 重置socket服务 netsh winsock reset 重置tcp/ip协议栈 netsh int ip r ...

  5. windows下CMD常用命令(url链接)

    https://blog.csdn.net/LJFPHP/article/details/78818696

  6. windows下cmd命令行显示UTF8字符设置(CHCP命令)

    本文由 www.169it.com 收集整理 在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容.在默认情况下 ...

  7. windows下cmd时复制dos中的内容 错误信息等

    16:28 2015/11/23小发现 windows下cmd时复制dos中的内容,错误信息等:鼠标右键选择标记,然后ctrl c 即可.

  8. windows下cmd清屏命令cls

    windows下cmd清屏命令cls

  9. windows下使用curl命令 && 常用curl命令

    什么是curl命令? curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多种Linux发行版中,并且有DOS和Win32.Win64下的移植版本. 如何在windo ...

随机推荐

  1. 推荐几个IDEA插件,Java开发者撸码利器。

    这里只是推荐一下好用的插件,具体的使用方法不一一详细介绍. JRebel for IntelliJ 一款热部署插件,只要不是修改了项目的配置文件,用它都可以实现热部署.收费的,破解比较麻烦.不过功能确 ...

  2. linux下Tab及shell 补全python

    Python自动补全 Python自动补全有vim编辑下和python交互模式下,下面分别介绍如何在这2种情况下实现Tab键自动补全. vim python自动补全插件:pydiction 可以实现下 ...

  3. mysql基础练习题

    一.表关系 请创建如下表,并创建相关约束 二.操作表 1.自行创建测试数据 /* Navicat MySQL Data Transfer Source Server : mysql5.7.1 Sour ...

  4. 如何在jenkins的maven项目中,用mvn命令行指定findbugs的黑名单规则文件

    一:问题背景 最近在研究jenkins的过程中,针对maven项目,打算添加findbugs进行静态检查,但我不太想在项目的pom中进行修改,最好可以只修改jenkins的job配置,即配置外部化. ...

  5. java中的多态案例

    多态性实际上有两种: 1.方法的多态性: 1.1方法重载:相同的方法名,会根据传入的参数的类型和个数不同执行不同的方法 1.2方法覆写:同一个方法名称,会根据子类的不同实现不同的功能 2.对象的多态性 ...

  6. Appium 在Win7环境下搭建

    (一) Java环境准备 安装java sdk 环境变量配置:JAVA_HOME=D:\Program Files\Java\jdk1.8.0_92 PATH设置:%JAVA_HOME%\bin 验证 ...

  7. python--元祖和字典

    一.1:元祖:tuple  在python中,元祖也是一个list, 它和list的区别是list中的元素可以修改,而元祖中的元素不可以修改. 2:元祖的定义:用小括号() 二.1.字典  字典全程d ...

  8. Redis常用命令--Hashes

    Hash是由键值对组成的map.Hashes的底层是通过字典实现的.一个哈希表里面可以有多个哈希表节点.而每个哈希节点就保存了字典中的一个键值对. 字典是一种用于保存键和值对的抽象数据结构.字典里的每 ...

  9. codevs 2964 公共素数因数

    提交地址:http://codevs.cn/problem/2964/ 2964 公共素数因数  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 白银 Silver 题解     ...

  10. [NOI 2005]聪聪和可可

    Description 题库链接 一只猫和一只老鼠在一张 \(n\) 个节点和 \(m\) 条边的无向图上,初始位置不同.对于每一时刻,猫会先走,它走的方向为靠近老鼠的方向:若多个节点可选,则选字典序 ...