mysql 基本终端命令

mysql 的终端需要在windows system32下运行,快捷键win+R 输入cmd回车即可。

一、mysql的登入

常用的综合写法:

 mysql -uroot -p325600 -P3308 


二、退出mysql

 mysql> exit; 

三、修改命令提示符

这个可以在登入时可以修改,也可以在登入后修改。

登入前:mysql -uroot -p325600 -P3308 --prompt \h

登入后:prompt (后面跟名字)

(后面可以跟的参数见下面)


四、常用的命令

1>显示当前服务器版本

select version();

2>显示当前日期时间

select now();

3>显示当前服务器版本

select user();

五、一些规范(平时注意下即可,有些小写也可以,他们这样子是因为区分)

1>关键字与函数名称全部要大写

2>数据库名称、表名称、字段名称全部小写

3>SQL语句必须以分号结尾

六、创建数据库

create database t1;(创建一个t1的数据库)

七、操作数据库

1>显示数据表

show databases;

2>查看数据库的当前错误信息

show warnings;

3>查看数据库的编码方式,如utf8

show create database app_imooc;

4>修改数据库的编码方式

alter databases t1 character set gbk;

5>删除数据库

drop database t1;

八、数据库的数据类型

①整型 ,整型的存储范围分有符号位和无符号位两种,一般无符号位是有符号位的两倍。

②选择数据类型要根据实际数据的大小,选择合适的数据类型有利于数据的优化。

100以内可以使用      tiny int            (非常小的整数)    字节数---1;

3w以内可以使用       small int         (小的整数)            字节数---2

800w以内可以使用  medium int    (中等的整数)          字节数---3   

21y以内可以使用      int                 (常用整数)              字节数---4

超过21y使用        big int                (大整数)                 字节数---8

九、双精度浮点类型

float(单精度浮点):float[(M,D)] m是数字总位数,d是小数点后面的位数,如果md被省略,会根据硬件允许的限制来保存值double(双进度浮点):double[(M,D)]一般是float存储范围的十倍,C语言默认显示15位小数。FLOAT[(M总位数,D小数点后位数)]M>=D。单精度浮点,保留小数点后7位,C语言默认显示6位小数。

十、日期类

DATE:(日期)支持1000年1月1日到9999年的12月31日 之间的任意日期

DATETIME(日期时间):支持1000年1月1日0:0:0到9999年的12月31日23:59:59 之间的任意时间

TIMESTAMP(时间戳):支持1970年0点起到2037年的一个值

①在实际的开发项目中,因为日期时间类型 存在时差的问题,所以一般会使用时间戳的方式

②MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样。自动UPDATE 和INSERT 到当前的时间

③还可以将时间存储成int型的当前的毫秒数,以后使用时还可以转换成任何的日期 时间

十一、字符类型

1>CHAR(M):定长类型,比如CHAR(5),如果我们只赋值abc,那么系统会自动在后面补两个空格        (0——255字节)

2>VARCHAR(M):变长类型,L+1个字节,即该是几个字节就是几个字节,其中L<=M且0<=M ,不够字节不会补空格      (0——65535)

十二、创建数据表

①打开数据库

use t1;(打开t1数据库,可用select database();查看数据库有没有打开)

②创建数据表以及字段

 mysql> create table tb1(
    -> username VARCHAR(20),
    -> age TINYINT UNSIGNED,
    -> salary FLOAT(8,2) UNSIGNED
    -> ); 

③查看当前是否存在表

show tables;

十三、查看数据表列表

show columns from tb1;(查看数据表中的结构)

十四、记录的插入与查找

插入方式① insert tb1 values('tom',25,666.3);

插入方式② insert tb1(username,salary) values('john',234.23);

查看插入的记录 select * from tb1;

十五、空与非空

null 字段值可以为空

not null字段值禁止为空

mysql> create table tb2(
    -> username varchar(20) not null,
    -> age tinyint unsigned null

    -> );

十六、mysql自动编号

auto_increment

  • 自动编号,必须与主键(主键见十七)组合使用
  • 默认情况下,起始值为1,每次的增量为1

mysql> create table tb3(
    -> id smallint unsigned auto_increment primary key,
    -> username varchar(30) not null

    -> );

下面是查看的结果


十七、初涉主键约束

primary key

  • 主键约束
  • 每张表只能存在一个主键
  • 主键保证记录的唯一性
  • 主键自动为not null

十八、初涉唯一约束

unique key

  • 唯一约束
  • 唯一约束可以保证记录的唯一性
  • 唯一约束的字段可以为空值(null)
  • 每张数据表可以存在多个唯一约束

mysql> create table tb5(
    -> id smallint unsigned auto_increment primary key,
    -> username varchar(20) not null unique key,
    -> age tinyint unsigned

    -> );

unique key可以有多个,但是具有唯一性,比如你username输入了tom,下次九不能再输入tom了,一般像学号啊,身份证等等。

十九、初涉默认约束

fefault

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

mysql> create table tb6(
    -> id smallint unsigned auto_increment primary key,
    -> username varchar(20) not null unique key,
    -> sex enum('1','2','3') default '3'

    -> );