zoukankan      html  css  js  c++  java
  • windows下cmd中命令操作

    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 provincesG;
     
    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_nameG; 查询
    删除主键约束:
    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.修改数据表
    针对字段的操作:添加/删除字段、修改列定义、修改列名称等。
    针对约束的操作:添加/删除各种约束
    针对数据表的操作:数据表更名(两种方式)
  • 相关阅读:
    Java笔记(06):如何使用JDK提供的帮助文档
    Java笔记(05):面向对象--继承
    MySql:基本SQL
    Oracle:简单SQL程序、存储过程、触发器
    Oracle:批量操作、视图、序列、简单SQL程序
    力扣(LeetCode)两整数之和 个人题解
    力扣(LeetCode)买卖股票的最佳时机 个人题解
    力扣(LeetCode)环形链表 个人题解
    力扣(LeetCode)找不同 个人题解
    力扣(LeetCode)从不订购的客户-数据库题 个人题解
  • 原文地址:https://www.cnblogs.com/-xiepan/p/8961159.html
Copyright © 2011-2022 走看看