MySQL学习(二)命令学习
一、MySQL中表的学习
1、表内添加主件;(ID)以便区分表内相同数据,任何表必须有主件。(关键字primary key)
Create table user (
Id int primary key,
Name varchar(10),
Age int
);
2、replace(主要用于解决重复性数据的):不同于insert的是,replace添加时可对于相同数据进行覆盖,而insert则会出错。
例如:在原本的字段中添加相同数据,来比较两者不同之处:
4、报错:
A:超过定义长度:比如定义的名字为10,实际输入为11位。
B:定义不为空无输入时:比如定义的地址不为空(not null),按字段添加数据时不给地址添加数据,那么就会出现如图所示;
5、default:定义字段内的统一数据(例如定义sex字段内的数据为boy,那么不管他是否为空,添加数据时就不会出错,因为已经生成了所有的都是boy)
6、递增组件:auto_increment
A:添加递增组件:
create table user(
-> id int primary key auto_increment,
-> name varchar(10)
-> );
B:含义(添加数据时,不用管理id,输入其他数据,默认会按照递增的趋势写入数据)
7、唯一性约束添加唯一性约束:alter table user add code varchar(18) UNIQUE;(表示code字段内的数据不能相同,添加相同的数据会报错)
A:添加
B:添加数据(给user表中添加code字段并定义他的数据是唯一的,那么在第一次设置一个数据是123时,第二次输入相同数据123就会报错,与字段id,name无关)
8、修改字段数据(update)
按字段修改:update user set age=28 where id=1;(将user表中的id=1的age字段修改为28)
9、删除表(三种方式)
①、delete from xxx;(可用来删除一行数据,也可删除表所有数据)(删除数据较多的表有些耗时)注意:不是删除表,只是删除了其中的数据
②、truncate table xxx;(简单快捷节省时间)(在数据较多的情况下可使用)
③、drop table xxx;(删除表)
10、克隆表(只能用来克隆表的结构,不能克隆表的数据。)
create table info like user;(创建一个info像之前的user表一样的结构)
11、复制数据(从一个有数据的表中复制数据至一个空的表中)
insert into user select * from info;(将info表中的数据复制至user表中)
二、MySQL数据库中表的查询
1、查询表中数据的三种方式
①、查询name字段的所有数据(展示出具体数据)
②、查询表中所有的数据(展示数据个数)
A:count(*)
B:count(1)
2、别名as
3、and(满足大于等于两个条件才能展示出数据结果)
例如:select * from user where name="lxd" and age=19;(查询user表中name是“lxd”并且age是19的数据)
4、Or(查询什么或者什么的数据,满足一个都展示出来)
例如:select * from user where name="lxd" or age=19;(查询user表中name是“lxd”还有age是19的数据)
5、in(查询包含什么的数据,中间用逗号隔开)
例如:select * from user where name in ("lxd","lisi");(查询user表中包含name是“lxd”“lisi”的数据)
6、between...and...(查询在什么和什么之间的数据)
例如:select * from user where age between 18 and 20;(查询user表中age在18和20之间的数据)
7、Not between ..and..(查询不在两者之间的数据)
例如:select * from user where age not between 18 and 20;(查询user表中age不在18和20之间的数据)
8、正交法查询
①、^代表以什么开头(select * from user where name rlike "^l" ; 查询以l开头的数据)
②、%代表任意数(select * from user where name like "lis%"; 查询以lis开头的所有数据,%用来代表任意数)
③、$代表以什么结尾(select * from user where name rlike "si$"; 查询以si结尾的所有数据)
三、导入数据(将桌面的数据文件导入MySQL中)
①、控制台进入放置数据的文件夹路径,
②、使用命令mysql -h localhost -u root -p <employees.sql导入数据,数据都在<employees.sql这个文档里面
③、使用命令mysql -h localhost -u root -p连接本地MySQL,展示数据库show databases;(在导入的过程中会生成一个数据库用来存放所有的表),
④、进入到employees数据库(use employees;),查看表是否存在(show tables;)