您的位置:首页 > 数据库 > MySQL

MySql(一入门)

2016-08-03 21:58 155 查看

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删除(了解) 两者有什么区别?

delete 是逐行标记删除. TRUNCATE 是将整张表包括表结构

delete DML语句。 TRUNCATE DDL语句

delete 删除的记录可以被恢复,TRUNCATE 不能回复

delete 不释放空间,TRUNCATE 释放空间

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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: