[TOF]mysql
SQL
1 数据库的基本概念
-
DataBase:DBsql
-
数据的仓库。用于存储和管理数据的仓库数据库
-
特色:①持久化存储数据,数据就是一个文件系统安全
②方便存储和管理数据oop
③使用了统一的方式操做数据库——SQL 大数据
-
数据库软件spa
- Oracle
- MySQL
- IBM DB2
- Hive
- Facebook开发
- 基于Hadoop
- 类SQL语法
- 执行延迟高,适合处理大数据、对实时性要求低的场合
2 SQL
-
什么是SQL?code
*Sructured Query Language :结构化查询语言对象
*定义了全部关系型数据库的规则ip
-
SQL通用语法
-
SQL单行或多行书写,以==分号==结尾
-
MySQL不区分大小写,关键字建议大写
-
单行注释: -- 注释内容
多行注释: /* 注释内容 */
mysql> show databases; -- 注释内容 mysql> show databases; /* 注释内容 */
-
-
SQL
分类-
DDL(Data Definition Language)数据定义语言
用来定义数据库对象:数据库、表、列等。
关键字:create、drop、alter等
-
DML(Data Manipulation Language)数据操做语言
用来对数据库中表的数据进行增删修改。
关键字:insert、deleta、update等
-
DQL(Data Query Language)数据查询语言
用来查询数据库中表的记录(数据)。
关键字:select、where等
-
DCL(Data Control Language)数据控制语言
用来定义数据库的访问权限和安全级别,及建立用户。
关键字:GRANT、REVOKE等
-
3 DDL:操做数据库、表
3.1 操做数据库:CRUD
-
Create:建立
mysql> CREATE DATABASE DB1; -- 建立数据库 mysql> create database if not exists DB1; -- 判断建立数据库 mysql> create database if not exists DB3 character set gbk; -- 建立指定字符集的数据库
-
Retrieve:查询
mysql> SHOW DATABASES; -- 查询全部数据库的名称 mysql> SHOW CREATE DATABASE mysql; -- 查询某个数据库的字符集(UTF-8);查询某个数据库的建立语句
-
Update:修改
mysql> alter database db4 character set utf8; -- 修改字符集
-
Delete:删除
mysql> drop database db4; -- 删除数据库 mysql> drop database if exists db3; -- 判断删除数据库
-
使用数据库
mysql> select database(); -- 查询当前使用的数据库名称 mysql> use db1; -- 使用数据库
3.2 操做表:CRUD
-
Create:建立
==数据类型==:
- int:整数类型
- double(5,2):小数类型,共5位、2位小数,最大999.99
- date:日期,包含年月日 yyyy-MM-dd
- datetime:日期,包含年月日时分秒 yyyy-MM-dd HH:mm:ss
- timestamp:时间戳,包含年月日时分秒 yyyy-MM-dd HH:mm:ss
- 若是未来不给这个字段赋值或NULL,则默认赋值当前系统时间
- varchar(20):字符串,最大20个字符
- zhangshan:8个字符
- 张三:2个字符
mysql> create table student( -- 表名:student -> id int, -- 定义列名和数据类型 -> name varchar(32), -> age int, -> score double(4,1), -> birthday date, -> insert_time timestamp -- 这里别加, -> );
-
Retrieve:查询
mysql> use mysql; mysql> show tables; -- 查询全部表 mysql> desc db; -- 查询表结构
-
Update:修改
mysql> alter table student rename to stu; -- 修改表名 mysql> show create table stu; -- 查询表的字符集 mysql> alter table stu character set gbk; -- 修改表的字符集 mysql> alter table stu add gender varchar(10); -- 添加一列 mysql> alter table stu change gender sex varchar(20); -- 修改列名和类型 mysql> alter table stu modify sex varchar(10); -- 只修改列的类型 mysql> alter table stu drop sex; -- 删除一列
-
Delete:删除
mysql> drop table stu; -- 删除表 mysql> drop database if exists stu; -- 判断删除表
4 DML:增删改表中数据
-
添加数据
mysql> insert into stu(id,name,age) values(1,'张无忌','18'); mysql> insert into stu values(2,'赵敏',17,99.9,NULL,NULL);
- varchar类型要打“”
- 表名后若不定义列名,则默认给全部列添加值
-
删除数据
-
修改数据
5 DQL:查询表中记录
mysql> select * from stu;