mysql 的终端需要在windows system32下运行,快捷键win+R 输入cmd回车即可。
一、mysql的登入
常用的综合写法:
二、退出mysql
三、修改命令提示符
这个可以在登入时可以修改,也可以在登入后修改。
登入前: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();查看数据库有没有打开)
②创建数据表以及字段
③查看当前是否存在表
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
mysql> create table tb3(
-> id smallint unsigned auto_increment primary key,
-> username varchar(30) not null
-> );
下面是查看的结果
十七、初涉主键约束
primary key
十八、初涉唯一约束
unique key
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'
-> );