MySql(一入门)

来源:互联网 发布:linux mtp挂载 编辑:程序博客网 时间:2024/05/29 13:45

1、MySQL概述

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
数据库保存数据特点:
1、数据共享
2、减少冗余
3、集中控制
4、安全性和可靠性
5、故障恢复

常用数据库:

1、MySQL:目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统
2、SQL Server:SQL Server是由微软开发的数据库管理系统,它只能在Window平台上
3.Oracle:Oracle在数据库领域一直处于领先地位。 Oracle数据库成为世界上使用最广泛的关系数据系统之一。

2、SQL语句的分类

1、DDL (数据定义语言)
数据定义语言 - Data Definition Language
用来定义数据库的对象,如数据表、视图、索引等
2、DML (数据操纵语言)
数据处理语言 - Data Manipulation Language
在数据库表中更新,增加和删除记录
如 update, insert, delete
3、DCL (数据控制语言)
数据控制语言 – Data Control Language
指用于设置用户权限和控制事务语句
如grant,revoke,if…else,while,begin transaction
4、DQL (数据查询语言)
数据查询语言 – Data Query Language
select

2、常用语句

数据库连接:mysql -u root -p

1、创建数据库

create database 库名称 [character set 码表名称 collate 字符校对集名称]

2、显示当前创建的数据库

show databases

3、删除数据库

drop database 数据库名称;

3、数据库中的数据类型

这里写图片描述

4、与表相关的语句

1、进入某个数据库

use database;

2、创建表

create table t_student(            name  varchar(20),            id varchar(30),            age     int,            data datetime        );

3、查看当前库中有哪些表

show tables;

4、查看表的结构

desc 表名;    

这里写图片描述
5、删除表

drop table 表名;

6、添加一列

alter table 表名 add 列名 类型;

6、修改列的类型

alter table 表名 modify 列名 类型;

修改列的名称

alter table 表名 change 旧列名 新列名 类型;

7、删除某列

alter table 表名 drop 列名;

8、修改表的名称

rename table 旧表名 to 新名;

5、完整性约束

1、非空约束(not null):指定非空约束的列
2、唯一约束(unique):该列的内容在表中值唯一
3、主键约束(primary key):该列的唯一标识符

    create table t_teacher(                name  varchar(20) primary key,                id varchar(30) unique,                age     int not null,                class varchar(20) not null            );

6、主键自动增长

主键必须是数字,并且自动增长。

create table t_user(                id  int primary key auto_increment,                password varchar(30) not null,                age     int not null,                birthday datetime not null,                hiredate timestamp not null,                number int unique            );

7、增删改查

创建数据库student,表t_student

create table t_sutdent(        id int primary key auto_increment,        name varchar(20) not null,        number varchar(30) not null    )

1、插入

insert into 表名[(列名1,列名2…)] values (值1,值2…);

INSERT INTO t_student(NAME,number) VALUES ('tom',"10001");INSERT INTO t_student(NAME,number) VALUES ('tom2',"10002");INSERT INTO t_student(NAME,number) VALUES ('tom3',"10003");INSERT INTO t_student(NAME,number) VALUES ('tom4',"10004");

2、修改

update 表名 set 列名1 = 值 , 列名2 = 值 ….[where 条件1,条件2…]

UPDATE t_student SET NAME='tom1' WHERE id=1;

3、删除

删除某个记录
delete from 表名 where 条件

DELETE FROM t_student WHERE id=4;

删除表中所有记录

DELETE FROM t_student;

DELETE 删除 和 TRUNCATE删除(了解) 两者有什么区别?

  1. delete 是逐行标记删除. TRUNCATE 是将整张表包括表结构
  2. delete DML语句。 TRUNCATE DDL语句
  3. delete 删除的记录可以被恢复,TRUNCATE 不能回复
  4. delete 不释放空间,TRUNCATE 释放空间
  5. TRUNCATE 会提交事务

4、查询

这里写图片描述

1、查询所有

select * from 表名;

 SELECT * FROM t_student;

2、条件查询语句

=、!=、<>、<、<=、>、>=;
BETWEEN…AND;
IN(SET);
IS NULL;
AND; &&
OR; ||
NOT; !
1、找出年龄小于20,并且计算机专业的

select * from t_student where age=19 and class='计算机';

2、查询id为1,2的记录;

 SELECT * FROM t_student WHERE id=1 OR id=2;

3、查询姓名为null的记录;

 SELECT * FROM t_student WHERE NAME  IS NULL;

4、模糊查询
where 字段 like ‘表达式’;
% 通配 通配任意个字符.
_ 通配 通配单个字符.
说明: LIKE 条件后 根模糊查询表达式, “_”= 代表一个任意字符

查询班级中有 计

SELECT * FROM t_student WHERE class LIKE '计%'

5、去重

 SELECT DISTINCT class FROM t_student;

6、 分组查询
当需要分组查询时需要使用GROUP BY子句

查询每个部门的部门编号和每个部门的工资和

select deptno,sum(sal) from emp group by deptno;

7、LIMIT用来做分页
查询5行记录,起始行从0开始

select * from emp limit 0,5;

查询5条记录,从第3个开始

select * from emp limit 3,5;
1 0
原创粉丝点击