mysql 黑窗口连接数据库以及常用数据类型
//tee d:1.txt 可将操作保存在d盘的1.txt中
开始键+R打开运行输入cmd进入黑窗口
1.基本操作
1.连接
本地连接:
mysql -u root -p回车
密码
远程连接:
mysql -h ip -u 帐号 -p回车
mysql -h 127.0.0.1 -u root -p
远程连接,必须经过授权
root : 超级管理员,权限最高,默认存在
2.退出客户端
exit
quit
q
ctrl+c
语法:
1.每个SQL指令以 分号 结束
2.可以一行拆分多行
3. c 取消本次执行
4.不区分大小写,建议区分
-- my.ini 设置字符集
[mysql]
default-character-set=utf8
character-set-server=utf8
选库: use `库名`;
库的位置:mysql/data
反引号 ``
避免用户使用系统关键字,导致语法错误!
如果是 `库名`,`表名`,`字段名` 请使用反引号,将名字引起来
建议别使用敏感字
查看当前库:
select database();
查看表结构:
desc `表名`;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id | int(11) | YES | PRI | NULL | auto_increment |
+-------+---------+------+-----+---------+-------+
2.整型
tinyint 1字节
int 4字节
存储单位:
1(byte)字节 = 8(bit)位
1111 1111
1024字节 = 1KB
1024KB = 1MB
无符号:8位都用于表达一个数
1111 1111 最大值为 255
不能表示负数的
取值范围:0 - 255
有符号:
符号位
取值范围:-128 - 127
可以表示正数,负数
--建表
create table if not exists `t1`(
`col1` tinyint ,
`col2` int ,
`col3` smallint
)engine=innodb default charset=utf8;
--插入数据
insert into `t1`(`col1`,`col2`,`col3`) values();
--查看所有字段,所有数据
select * from `t1`;
--- 测试有符号与无符号区别
create table if not exists `t2`(
`col1` tinyint,
`col2` tinyint unsigned
)engine=innodb default charset=utf8;
-- col2 字段是无符号的,不能插入负数,以最小值插入
insert into `t2` (`col1`,`col2`) values(-13,-23);
--插入不是整型的
create table if not exists `t3`(
`col1` tinyint,
`col2` int
)engine=innodb default charset=utf8;
-- 超出范围取最大值 ,并警告
insert into `t3` (`col1`,`col2`) values(182 , 12345678912);
-- 插入布尔值
insert into `t3` (`col1`,`col2`) values(false , true);
-- 插入浮点型 4舍5入
insert into `t3` (`col1`,`col2`) values(1.53 , 123.21);
-- 插入字符串
-- 插入字符,会从字符串中提取数字,无法提取,插入的值就是 0
insert into `t3` (`col1`,`col2`) values("zheng" , "mao");
insert into `t3` (`col1`,`col2`) values("85zheng" , "32mao");
--自增 每插入一条数据,该字段自+1
create table if not exists `t4`(
`col1` int unsigned auto_increment primary key,
`col2` int
)engine=innodb default charset=utf8;
auto_increment : 自增 (要配合primary key使用才有效)
primary key : 主键
insert into `t4` (`col1`,`col2`) values(1.53 , 123.321);
insert into `t4` (`col2`) values( 123.321);
3.浮点型
create table if not exists `f1`(
`col1` float ,
`col2` double
)engine=innodb default charset=utf8;
insert into `f1`(`col1`,`col2`) values(12.22,33.98);
--超出长度
insert into `f1`(`col1`,`col2`) values(120000000000000000000000000000000000000000000000000000000000000000000000,33);
-- 浮点数不需要指定无符号,默认就可以
-- 数字字符串
insert into `f1`(`col1`,`col2`) values("88.12","98.59");
-- 插入字符串转换为 0
insert into `f1`(`col1`,`col2`) values("asdf","req");
-- 提取数字
insert into `f1`(`col1`,`col2`) values("11.23asdf","33.12req");
-- 定点浮点型
create table `f2`(
`col1` float(6,2),
`col2` double(10,2)
)engine=innodb default charset=utf8;
--超出长度
insert into `f2` (`col1`,`col2`) values(99999994,989889988998832);
-- 保留位数 4舍5入
insert into `f3` (`col1`,`col2`) values(3.97569,8.1233123);
4.字符串
char() 定长
varchar() 非定长
create table if not exists `c1`(
`col1` char(3),
`col2` varchar(6)
)engine=innodb default charset=utf8;
char: 定长
如果定义时,指定了长度,在插入时,不满足长度,其余使用空格替代
效率略高
varchar : 变长
如果定义时,指定了长度,在插入时,按实际长度插入
-- 超出长度 ,按定义长度截取
insert into `c1`(`col1`,`col2`) values("abcd","demaxiya");
insert into `c1`(`col1`,`col2`) values("ac","jie");
-- 空格 也是普通字符串
insert into `c1`(`col1`,`col2`) values(" s b","hehe");
-- 中文 char 与varchar 不考虑中英文,统一长度
insert into `c1`(`col1`,`col2`) values("智勇","今晚浪哥大战");
insert into `c1`(`col1`,`col2`) values("勇哥给你直播","今晚浪哥大战在小树林");
5.枚举
-- 创建表
create table if not exists `user`(
`id` int unsigned not null auto_increment primary key,
`name` varchar(255),
`age` tinyint unsigned,
`sex` enum("0","1","2"),
`like` set("篮球","足球","排球")
)engine=innodb default charset=utf8;
enum() set() 插入非法数据,将其截取为 空
enum() 多个选一个
insert into `user`(`name`,`age`,`sex`,`like`) values("提莫",19,"1","篮球");
insert into `user`(`name`,`age`,`sex`,`like`) values("提莫",19,"3","篮球"); -- 插入2
insert into `user`(`name`,`age`,`sex`,`like`) values("提莫",19,"工","篮球"); -- 截取为空
insert into `user`(`name`,`age`,`sex`,`like`) values("提莫",19,"a","篮球"); -- 截取为空
insert into `user`(`name`,`age`,`sex`,`like`) values("琴女",36,"0,2","篮球"); -- 不符合
set() 多个选多个
insert into `user`(`name`,`age`,`sex`,`like`) values("lili",29,"2","hello");
insert into `user`(`name`,`age`,`sex`,`like`) values("lili",29,"2","篮球,排球");
6.null
空表示,没有或未知
在数据库,不要使用 null 做任何计算
null 运算后,结果还是 null
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。