MySQL入门篇(一)----navicat和命令行的使用

MySQL入门篇(一)----基础命令的使用

Mysql命令(命令行的实现)

查看数据库: show databases;

创建数据库:create database test01;

选择数据:use test01;

查看数据库表: show tables;

创建数据库表:create table cat(name varchar(20), age int);

查看表的结构: desc cat;

插入数据: insert into cat values(‘tomcat‘,3);

查询数据;select name,age from cat;

插入数据(不按字段顺序):insert into cat(age,name) value(5,’abc’);

插入数据(按字段,以后插入数据都是按这种写法):insert into cat(name) values(‘ccc‘)

 

插入数据(插入多条数据): insert into cat(name) values(‘bbb’),(‘aaa’),(‘ddd’);

运行结果:

 

更新数据:update cat set age=4(age这一列全部改为4)

         

       运行结果:

          

 

update cat set age=5 where name=’tom’;

运行结果

 

删除数据(必须加where条件,否则会删除所有数据):delete from cat where name=‘ddd’;

运行结果

删除表:drop table cat;

insert/update/delete 返回受影响的行数

delect 返回查询的结果

delete 删除数据

drop 删除表

 

Navicat可视化工具的使用

创建连接成功

双击激活数据库

 

 

 

在first上右击选择新建数据库,

编码集:把要显示的内容,通过编码表示出来,中国开发的编码集gbk2312内容比较少

例如,可以把自己写的中文通过编码集gbk2312显示出来,unicode所有国家的编码集的集合,内容比较多。Mysq’l存中文用的是utf8。中文的编码集还有utf-8。Mysql默认的编码集是拉丁文。时刻谨记ctrl+s保存

创建表的时候如果不指定编码集,就需要一个一个字段去设置编码集。

创建数据库的时候指定编码集,在创建表的时候就不需要指定编码集了

 

数据库表的字段类型

存整数:  tinyint(比int类型小 占1字节)    smallint(比int类型小 占2字节)   mediumint 占3 字节    int 4   bigint 8比int大   

不同的数据类型---存储数据的范围不同—在内存中占用的空间不同—合理的利用内存空间

一个字节8位

存小数 :  float/double

存字符串: varchar(存变长的字符串)/char(存定长的字符串)

例如:手机号/身份证号长度固定,所以就可以用char类型进行存储;存姓名可能有2/3/4/5个字,属于变长,所以用varchar进行存储。

两者区别:

char类型例如给它分配了20个字符空间,只用了3个长度,剩下的会被空格进行填充。 浪费了存储空间,但是不需要计算。

varchar类型例如给它分配了20个长度空间,实际占用3个长度,会首先计算数据长度。节省了存储空间,但是需要计算。

存日期:  date年月日   

datetime年月日时分秒

year年份

存大对象:blob,例如存图片,视频,基本不会用到,一般都是存储路径

longtext 存储文本类型,存储的文本比较多

#同时执行多条sql语句,必须加分号
insert into cat(name,age) values('tom',4),("abc",5);

select name,age from cat;
#无法对表中的数据进行唯一的指定
select name,age from cat where name='tom' and age=4;

#--一个约束,唯一标识某条数据
#--1 主键   10完 并不知道哪个用来了 一个表中只能有一个主键
#--在一个表中 两条数据中的两个字段值不同时(id+name)重复
#---联合主键---字段平级    表级约束   直接卸载字段id int 列级约束
#---不是主键,但是值唯一,通过unique指定为唯一
#-- 主键/唯一/非空not null

#id为主键,不能这样写
insert into cat1(id,name,age) values9(4,'tom',5);
#需要这样写
insert into cat1(name,age) values9('tom',5);
#创建表,约束方法一
create table cat1(
    id int primary key auto_increment,#主键并且自增
    name varchar(20),
		age int 
)engine=INNODB default charset=utf8;
#约束方法二,避免两个字段重复,联合主键
create table cat2(
    id int,
    name varchar(20),
		age int ,
		primary key(id,name)#联合主键
)engine=INNODB default charset=utf8;
#约束第三种写法
create table cat3(
    id int primary key auto_increment,
    name varchar(20) unique,
		age int 
)engine=INNODB default charset=utf8;

insert into cat(name) value('tom');
#给age设定默认值
create table cat4(
    id int primary key auto_increment,#主键,自增
    name varchar(20) unique,#值唯一
		age int not null default 4
)engine=INNODB default charset=utf8;
#插入之后,age默认为4
insert into cat(name,age) value('tom');
#插入年月日时分秒
insert into cat1(birthday) values('1999-3-9 14:00:00');


#操作
select name,age,id,birthday from cat1;
#全表查询
select * from cat1;
#查询指定行
select * from cat1 where id=1;
#数据库 运算符
#表中所有年龄+3  算术运算符 + — * / % ++ -- #在mysql中不能用 += -= %等这些符号
update cat1 set age=age+3;
#--关系运算符 > >= < <= = != (<>不等于)
#大于7
select * from cat1 where age>=7;
#不等7 有两种写法
select * from cat1 where age<>7;
select * from cat1 where age!=7;
#查询age=7并且name是tom的猫,涉及多个条件,要用到逻辑运算符and or not
select * from cat1 where age=7 and name='tom';
#或者关系,只要满足其中一个条件就可以
select * from cat1 where age=7 or name='tom';
#取反,两种写法
select * from cat1 where !(age=7 or name='tom');
select * from cat1 where not (age=7 or name='tom');
#mysql 中不区分大小写
#查名字为null(控制)的行 
select * from cat1 where name is null;
#查询一定范围内的年龄between and [5,7],包含边界
select * from cat1 where age between 5 and 7;
#查询年份,从datetime中提取出来年份
select year(birthday) from cat1;

 

 

 

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值