MYSQL学习笔记之基本命令

SQL :结构化查询语言。 (数据库不区分大小写)

MYSQ 基本命令

1:数据定义语言(DDL)(create,drop,alter)

创建数据库,

CREATE DATABASE 数据库名 

删除数据库:

DROP DATABASE 数据库名

创建表:

CREATE TABLE 表名

 create table teacher (

 sid int (11) primary key auto_increment,

 name varchar (20) not null ,

 gender char (1),

 age int (2),

 birth date);

 删除表: drop table 表名

 Drop语的句会删除表的结构内容慎用!!!

 修改表结构:

 添加表列 (alter table 语句):

 给表添加新表列

 alter table teacher add column course varchar (20);

 修改表名:

 alter table teacher add column course varchar (20);

 删出一列:

alter table teacher_tab drop column birth;

修改某一列的类型:

(将varchar属性改大一点 但列名不能改)

  alter table teacher_tab modify course varchar (50);

查询表结构:

 Desc 表名。 

2:数据操纵语言(DML

 添加数据

Insert into ...语句。

Insert into 表名 (字段1, 字段2.。。。) values (值, 值, 值。。。)

 insert into teacher_tab (name,gender,age,course,create_data )values('威哥

','',27,'android讲师',now());

2:修改数据

Update 表名 字段名‘值’。。。。Where字段名‘值’

(修改是where条件最好为id

 update teacher_tab set age = 26 where id =1;

3:删出数据:

Delete from 表名:// 删除表的 所有的数据

delete from teacher_tab where id =1;

3:数据查询语言(DRL

对于查询语句中的(统配符)如果是用其查询的话会增加后台数据库的负担,其会将表的所有列表项解析出来,会降低数据库的效率,使用的时候应该避免使用统配符。

2:查询已有表中course为空的老师信息:

select *from teacher_tab where course is null ;

3:查询老师信息按日期降序排列 (默认为asc,可以匹配多个条件用逗号隔开 ):

 select *from teacher_tab order by create_data desc;

4:按性别分组查询男女老师的人数:

 select gender , count(gender)from teacher_tab group by gender;

5:按性别分组查询出女老师的人数:

  在group中增加查询条件要使用having 语句 (专门为分组时提供的语句)。

 select gender,count(gender)from teacher_tab group by gender

 having gender = ''; 

上语句虽然可以完成查询,但是效率较低,如下语句效率较高:

 select gender, count(gender) from teacher_tab where gender = '';

7:查询表的总记录数:

select count(*) from teacher_tab; (存在统配符不建议使用)

8:一般统计id个数

 select count(id) from teacher_tab;

9:查询老师记录的前三条:

select *from teacher_tab limit 0,3;

limt一共有两个参数,第一个参数为索引号,第二个参数为要查询的记录数

10:查询性别为女和指定日期的老师:

 select *from teacher_tab where gender = ''and

 create_data= '2015-12-14';

11:查询性别为男或者id小于5的老师

select *from teacher_tab where gender=''or id <5;

12:查询姓名的最后一个字符为“琪”的老师

select * from teacher_tab where name like '%';

13:查询姓名已指定字符开始的老师:

select * from teacher_tab where name like '%';

姓名中包含“老”的老师:

select * from teacher_tab where name like '%%';

4:事务控制语言(TCL

是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠

事务:是访问并可能更新数据库中各种数据项的一个程序执行单元。

在关系数据;库中一个事务可以是一条SQL语句,一组SQL语句或整个程序。

事务的属性:原子性,一致性,隔离性,持续性。(acid);

设置默认事务提交方式:

Set autocommit = false  -------设置事务提交方式为手动提交

Set autocommit = true---------设置事务提交方式为自动提交方式

set autocommit= false后,所有的SQL都将作为事务处理,直到使用comm(提交)确或

Rollback(回滚)结束。当结束这个事务的同时也开启了新的事务。

Savepoint point2 保存还原点。

Rollback to point2 :回滚到point2

在一个事务中可以设置多个还原点,在事务没有提交之前,都可以回滚到任意点。但是如果一旦提交的话,就无法再提交了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值