mysql操作begin命令_MySQL基础操作MySQL
1、连接数据量
mysql -u username -p
输⼊命令后回车,显⽰Enter password: 输⼊密码即可。
username登录时使⽤的⽤户名
2、创建数据库
create database databaseName
databaseName:需要创建的数据库名。
3、删除数据库
drop database databaseName
databaseName:需要删除的数据库名。
4、选择数据库
use databaseName
databaseName:想要使⽤的数据库名。
5、创建数据表
create table tableName(column_name column_type);
tableName:需要创建的数据表名
column_name:创建表中的列名
column_type:创建表中的列数据类型
实例:
create table if not exists Device_Type(
Device_id int auto_increment,
Device_name varchar(64) not null,
Device_typenum varchar(24) not null,
Device_date datetime,
primary key(Device_id)
) default charset=utf8;
create table if not exists Consumables_Type(
Consumable_id int auto_increment,
Consumable_name varchar(64) not null,
Consumable_typenum varchar(24) not null,
Consumable_date datetime,
primary key(Consumable_id)
)
default charset=utf8;
create table if not exists Types_Num(
Type_id int auto_increment,
Type_Num varchar(24) not null,
Type_date datetime,
primary key(Type_id)
)default charset=utf8;
auto_increment定义列⾃增属性,⼀般⽤于主键,数值会⾃动增加1
primary key⽤于定义该列为主键,可以使⽤多列来定义主键,列间以逗号分隔
charset设置编码
如果不想字段为null,设置该字段属性为not null, 在操作数据库时如果该字段为null,则会报错。
6、删除数据表
drop table tableName
tableName:需要删除的数据表名
7、插⼊数据
insert into tableName(field1, field2,...fieldN) values(value1, value2,...valueN ) tableName:需要插⼊数据的表名
实例:
insert into Device_type
(Device_name, Device_typenum, Device_date)
values
("Genie", "001", NOW());
insert into Types_Num
(Type_Num, Type_date)
values("001", NOW()),("002", NOW()), ("003", NOW());
NOW() 函数返回当前系统的⽇期和时间。
8、查询数据
select column_name1, column_name2, ...column_nameN from tableName
[where condition]
[limit N][offset M]
where 语句来包含筛选条件
limit 属性来设定返回的记录数
offset 指定select语句开始查询的数据偏移量,默认情况下偏移量为0
使⽤* 代替字段,将返回所有字段的值。
实例
select * from Device_Type where Device_typenum = '0001' limit 5 offset 1;
只返回唯⼀的不同值。
select distinct column_name1, column_name2, ...column_nameN from tableName [where condition]
[limit N][offset M]
9、where⼦句
select field1, field2, ...fieldN from tableName1, tableName2
[where condition1 [and[or]] condition2];
查询语句中可以⼀次查询⼀个或多个表,表名之间⽤(,)分隔。
查询语句中可以使⽤where来设定查询条件
可以使⽤and(与)或or(或)来连接多个查询条件
where⼦句也可以⽤于delete、update等命令语句
实例:
select * from Device_Type where Device_typenum = '005' or Device_id < 2;
10、update更新
update tableName set field1 = 'newvalue1', field2 = 'newvalue2'
[where condition]
可以⼀次更新⼀个字段或多个字段的值
实例:
update Device_Type set Device_typenum = '0002'
where Device_id > 6 and Device_typenum = '005';
11、delete语句
delete from tableName [where condition];
如果没有where⼦句,则会删除表中所有的数据。
实例:
delete from Device_Type where Device_id > 8;
12、like语句
select field1, field2,...fieldN from tableName
mysql中delete语句
where like condition;
可以在where⼦句中使⽤like⼦句
可以使⽤like⼦句代替等号=
like通常与%⼀起使⽤,类似于⼀个元字符的搜索
实例:
update Device_Type set Device_name = 'SuperGenie' where Device_name like 'DP%';
补充:
13、union操作符
MySQL union操作符⽤于连接两个及以上的select语句,将结果组合到⼀个结果集中。
select field1, field2,... fieldN from tableName1
[where condition]
union [all | distinct]
select field1, field2,... fieldN from tableName2
[where condition]
distinct: 可选,删除结果集中的重复数据。默认情况下union已经删除了重复数据,所有distinct对结果没有影响all: 可选,返回结果集中的所有数据,包括重复的数据。
实例:
select Device_typenum from Device_Type
union all
select Consumable_typenum from Consumables_Type;
14、MySQL排序
select field1, field2, ... fieldN from tableName
order by fieldX ASC | DESC;
ASC 升序
DESC 降序
实例
select * from Device_Type order by Device_id desc;
15、分组
select field, function(field) from tableName
[where condition]
group by field;
function(): SQL 函数
实例:
select Consumable_name, COUNT(*) from Consumables_Type group by Consumable_name;
select Consumable_name, COUNT(*) as count from Consumables_Type group by Consumable_name; as 起别名
使⽤with rollup:可以在实现在分组统计的基础上再进⾏相同的统计
select Consumable_name, COUNT(*) as count from Consumables_Type group by Consumable_name with rollup;
返回中的NULL则为统计的总和。
select coalesce(Consumable_name, "total") as name, COUNT(*) as count from Consumables_Type group by Consumable_name with rollup;
16、连接的使⽤
1、inner join(内连接或等值连接)
获取两个表中字段匹配关系的记录
select tableName1.field1, tableName1.field2, tableName2.field1 from tableName1
inner join tableName2
on tableName1.filed = tableName2.filed;
实例:
select Consumables_Type.Consumable_id, Consumables_Type.Consumable_date, Types_Num.Type_Num from Consumables_Type
inner join Types_Num
on Consumables_Type.Consumable_typenum = Types_Num.Type_Num;
2、left join(左连接)
获取左表中的所有记录,即使右表中没有匹配关系的记录
实例:
select Consumables_Type.Consumable_id, Consumables_Type.Consumable_date, Types_Num.Type_Num from Consumables_Type
left join Types_Num
on Consumables_Type.Consumable_typenum = Types_Num.Type_Num;
3、right join(右连接)
获取右表中的所有记录,即使左表中没有匹配关系的记录
实例:
select Consumables_Type.Consumable_id, Consumables_Type.Consumable_date, Types_Num.Type_Num from Consumables_Type
right join Types_Num
on Consumables_Type.Consumable_typenum = Types_Num.Type_Num;
17、NULL值处理
is null: 当列的值是 NULL,此运算符返回 true
is not null:当列的值不为NULL时,运算符返回true
实例:
insert into Types_Num (Type_Num) values("004"), ("007"), ("008");
使⽤以下语句查询表Types_Num中Type_date字段为null的数据。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。