SQL 的主要功能是和数据库建立连接,进行增删改查的操作。SQL是关系型数据库管理系统的标准语言。
SQL 语言的作用:
- 数据定义语言 DDL(Data Definition Language) 。用于创建数据库,数据表。
- 数据操作语言 DML(Data Manipulation Language) 。用于从数据表中插入、修改、删除数据。
- 数据查询语言 DQL(Data Query Language) 。用于从数据表中查询数据。
- 数据控制语言 DCL(Data Control Language) 。用来设置或修改数据库用户或角色的权限。
使用 SQL 操作数据库时,所有的 SQL 语句都以分号结束。(切换数据库时可以不用分号)
在 SQL 语句中,不区分大小写,编写 SQL 语句时可以根据情况用大小写的区别来增加可读性。
一.数据库
创建数据库(数据库名mySQL)
create database mySQL
创建数据库并设置数据库的字符编码
create database mySQL character set utf8;
直接创建的数据库,数据库的编码方式是 MySQL 默认的编码方式 latin1 (单字节编码) ,通常我们会在数据库中存放中文本数据,所以最好把数据库的编码方式设置成 utf-8 ,这样中文才能正常显示。
character set 可以缩写成 charset ,效果是一样的。
显示数据库的创建信息
show create database mySQL;
修改数据库编码
alter database mySQL character set utf8;
进入或切换数据库
use mySQL;
显示当前数据库
select database();
进入数据库中,可以使用 select database(); 来查看当前处于哪个数据库中。长时间操作数据库时,在很多数据库中来回切换后,查看当前的数据库,避免操作错了数据库。
二.数据表
创建表
create table 表名(字段1 字段类型,字段2 字段类型,字段3 字段类型,…);
查看当前数据库中的表
show tables;
显示表信息
show create table 表名;
使用 show create table 表名; 可以显示表的字段信息, MySQL 的引擎,和默认的字符编码等信息。与显示数据库信息一样,show 只能显示已经创建了的数据表的信息,不能在创建的同时显示信息。
如果想更好地展示表的字段信息,可以使用 desc 表名; 来显示表的字段信息。
给表增加字段
alter table 表名 add 字段名 数据类型;
删除表的字段
alter table 表名 drop 字段名;
修改表中现有字段的数据类型
alter table 表名 modify 字段名 数据类型;
修改表中现有字段的字段名和类型
alter table 表名 change 原字段名 新字段名 数据类型;
三.MySQL 常用字段类型
整数类型
数据类型 | 数据范围 |
---|
TINYINT | -128 – 127 |
SMALLINT | -32768 – 32767 |
MEDIUMINT | -2^23 – 2^23-1 |
INT | -2^31 – 2^31-1 |
BIGINT | -2^63 – 2^63-1 |
字符串类型
数据类型 | 字节范围 | 用途 |
---|
CHAR(n) | 0 – 255字节 | 定长字符串 |
VARCHAR(n) | 0 – 65535字节 | 变长字符串 |
TEXT | 0 – 65535字节 | 长文本数据 |
LONGTEXT | 0 – 2^32-1字节 | 极大文本数据 |
BLOB | 0 – 65535字节 | 二进制长文本数据 |
LONGBLOB | 0 – 2^32-1字节 | 二进制极大文本数据 |
小数类型
数据类型 | 数据用法 | 数据范围 |
---|
Float | Float(m,n) | 7位有效数 |
Double | Double(m,n) | 15位有效数 |
Decimal | Decimal(m,n) | 28位有效数 |
时间类型
数据类型 | 格式 | 用途 |
---|
DATE | YYYY-MM-DD | 日期 |
TIME | HH:MM:SS | 时间 |
YEAR | YYYY | 年份 |
DATETIME | YYYY-MM-DD HH:MM:SS | 日期和时间 |
TIMESTAMP | 10位或13位整数(秒数) | 时间戳 |
枚举类型
enum(枚举值1,枚举值2,…)
枚举类型只能在列出的值中选择一个,如性别。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)