目录
5、开启事务(begin or start transaction)
mysql是一种开源的关系型数据库,是目前最常用的的数据库之一。
1、数据库操作
1、创建数据库(create database)
create database 数据库名称; 比如 create database mytest;
2、删除数据库(drop)
drop database 数据库名称; 比如 drop database mytest; 记住每个语句后加分号。
3、查看数据库(show)
显示所有:show databases;
显示指定:show databases like 'xx%'; 显示以xx开头的数据库
--------------------------------------------分割线------------------------------------------------
2、数据表操作
4、创建数据表(create table)
create table 数据表名称(
名称 类型 条件
);
比如
create table test(
code int(10) not null auto_increment,
name varchar(20) not null,
class smallint(10) not null,
primary key(id)
)engine=myisam auto_increment=2 default charset=utf8;
auto_increment : 定义这个字段为自动增长,即如果INSERT时不赋值,则自动加1
engine=myisam 或者engine=InnoDB : 数据库引擎
default :表示默认
charset=utf8: 数据库字符编码为utf8
auto_increment=2: 下次自动增长从第2行开始
5、删除数据表(drop table)
drop table 数据表名称;
6、查看数据表(show tables)
显示所有数据表:show tables; 显示指定:show tables like 'xx%'; 显示以xx开头的数据表
7、查看数据表的结构(desc)
desc 数据表名称; desc test;
--------------------------------------------分割线------------------------------------------------
3、mysql中数据的操作(对数据增删改查)
1)向数据表中插入数据(增 insert)
insert into 数据表名称 values (字段值1,字段值2...)
insert into test values('liudehua',1);
2)更新数据表中的数据(改 update)
update 数据表名称 set 字段1=value where 字段2=value;
a、更新指定字段的数据(单字段)
update a set code=2018 where id=2014;
b、更新指定字段的数据(多字段)
update a set code=2018 where (id,name)=(2014,'e');
3)从数据表中查询数据(查 select)
test表:
a、查询所有数据。 select * from 数据表名称;
select * from test;
b、查询某一列的数据。 select 字段(某一列)from 数据表名称;
select name from test;
c、根据条件查询数据(增加where条件)
select * from test where name='james';
d、order by字句 对查询结果进行排序。后面跟desc表示降序、跟asc表示升序(默认)
select * from test order by score desc;
f、group by字句 对匹配的where字句的查询结果进行分组
select name,sum(score) from test group by name;
g、having 字句 对分组后的结果进行条件限制
select name,sum(score) from test group by name having sum(score)>175;
4)从数据表中删除数据(删 delete)
a、删除所有数据。 delete from 数据表名称;
delete from test;
b、删除指定数据。delete from 数据表名称 where 条件;
delete from test3 where name='a';
5)清空数据表的数据(truncate)
truncate table 数据表名称;
truncate table test;
delete 和truncate 两者的功能都是删除数据,但是truncate删除的数据,其主键(primary key)会重新编号。而delete from删除后的数据,会继续上一次编号。
--------------------------------------------分割线------------------------------------------------
4、更改mysql数据表的字段(alter)
a、增加字段(add)
alter table a add column code int(10) not null;
b、删除字段(drop)
alter table a drop code;
c、在指定字段后添加字段(after)
alter table a add column code int(10) not null after id;
d、修改一个字段的类型(modify)
alter table a modify code VARCHAR(10);
e、修改一个字段的名称,此时一定要重新指定该字段的类型(change)
alter table a change name sname varchar(10);
g、更改表名(将表a 重命名为表b)
rename table a to b;
alter table a rename to b;
--------------------------------------------分割线------------------------------------------------
5、开启事务(begin or start transaction)
开启事务:start transaction; 或者 begin
提交事务:commit;
回滚:rollback;
开启事务可以在大批量的插入操作中提高效率。如不打开事务直接insert 20000条数据进表中的效率比开了事务再insert,最后commit提交的效率要低得多,而且开了事务以后如果insert了不需要的数据,可以进行回滚操作,回滚就是撤销本次数据操作。