mysql常用语句(学习笔记)

进入数据库:mysql -u root -p
输入密码:

show databases;
显示数据库(前三个是mysql的系统库,自带一个测试数据库)

use 数据库名
比如:use test
使用test数据库,显示:database changed

show tables; 显示数据库内部的表

数据定义语言(DDL):Data Defintion Language 如 CREATE, DROP, ALTER
创建数据库
CREATE DATABASE mydatabase;

删除数据库:
drop database 数据库名
例如:
drop database mydb;

创建表:
CREATE TABLE teacher(
sid int(11) primary key auto_increment, //字段名+字段类型+字段的属性,primary key 主键
name varchar(20), gender char(1),
age int(2), birth date
);

主键:用来唯一代表一条记录的字段(主键值必须是唯一),每个表必须有一个
auto_increment,自增

显示数据库内部的表:
show tables;

查看表结构:
desc teacher;

删除表:
drop table 表名;
会删除表的所有记录和结构。

修改表的结构(ALTER TABLE语句)
alter table test add column name varchar(10);//添加列表
alter table test rename test1;//修改表名
alter table test drop column name;//删除表列
alter table test modify address char(10);//修改表列类型
alter table change address address char(40);//修改表列类型
alter table test change column address address1 varchar(30); //修改表列名

数据操纵语言(DML):Data Manipulation Language,如 insert,update,delete

添加数据(insert into …语句)
insert into 表名(字段1, 字段2, 字段3)values(值,指,值);
查询语句:select *from teacher;查询teacher 表中的所有记录。

修改数据:(update ..set语句)
update 表名 set 字段名= ‘值’,字段名=‘值’,字段名 = ‘值’where 字段名 = ‘值’;
update teacher set gender = ‘m’ where id = 1;//修改id为1的gender属性

删除数据(delete from…语句)
…删除所有记录:
delete from 表名;
…删除id为1的记录:
delete from 表名 where id = 1;

数据查询语言(DRL)Data Retrieval Language: select 语句
查询所有信息:
select * from 表名: select * from teacher; // *通配符,查询所有。台会还原为为表结构查询,开发中最好少用,但是对于数据库会增加一步解析的操作。

在没有表被引用的情况下,允许指定DUAL(mysql内部的一个虚拟表)作为一个假的表名
select 1+1 from dual;

查询id为1的老师信息:select *from teacher where id = 1;

查询字段为空的老师信息:select *from teacher where job is null; //注意不是 job = null;不为空应该是is not null

模糊查询:
查询name最后一个字段为s的老师:
select * from teacher where name like ‘%s’

查询姓名与指定字母开头的老师:
select * from teacher where name like ‘y%’;
包含“%y%”

查询所有老师信息,按照日期降序排序:
select * from teacher order by createDate (asc, 为升序)
select * from teacher order by createDate desc; 为降序

多个排序条件:
当一个排序条件相同的时候,使用另外一个条件排序。
select * from teacher order by createDate, age desc;

按分组查询:
select gender, count(gender) from teacher group by gender;
count(), 求出所查询分组的总数,是一个函数。

select gender,count(gender) from teacher group by gender having gender= ‘m’; //找出gender里面值为”m”的总数。
select gender, count(gender) from teacher where gender = ‘m’; //比上一个效率高,应该避免使用having

查询表的总记录数:
select count() from teacher; //开发中应该避免用到通配符
select count(主键) from teacher; //主键的总数等于总记录数。

查询记录总数的前三条。
select * from teacher limit 0, 3; //数组下标从0开始
设置别名:
select t.name, t.age from teacher t;

事务控制语言(TCL) Transaction ControlLanguage
比如COMMIT, ROLLBACK等语句
事务时访问并可能更新数据库中各种数据项的一个可执行单元。
事务共有四个属性:原子性、一致性、隔离性、持续性

设置默认的提交方式:
set autocommit=false // 设置事务提交方式为手动提交
set autocommit=ture //手动提交

还原:rollback;
可以回滚表示数据库没有真正的保存进入文件,只是在文件中存在。还原表示在内存中存在。
再次输入commit,表示手动提交,提交过后表示不能rollback.

保存还原点:savapoint point2;
rollback to point2; 回滚到还原点point2。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值