MySQL基础操作
常用的数值类型
| 类型 | 大小 | 用途 |
|---|---|---|
| char | 0-255 bytes | 定义长字符串 |
| varchar | 0-65535 bytes | 变长字符串 |
| tinyblob | 0-255 bytes | 不超过255个字符的二进制字符串 |
| tinytext | 0-255 bytes | 短文本字符串 |
| blob | 0-65535 bytes | 二进制形式的长文本数据 |
| text | 0-65535 bytes | 长文本数据 |
| mediumblob | 0-16777215 bytes | 二进制形式的中等长度文本数据 |
| mediumtext | 0-16777215 bytes | 中等长度文本数据 |
| longblob | 0-4294967295 bytes | 二进制形式的极大文本数据 |
| longtext | 0-4294967295 bytes | 极大文本数据 |
- char如果存入数据的实际长度比指定长度要小,会补空格至指定长度,如果存入的数据的实际长度大于指定长度,低版本会被截取,高版本会报错
- char输入数据的实际长度要比指定长度小,会补空格至指定长度
- 主键是唯一的,但主键可以由多个字段构成
SQL
SQL语言
- 关系数据库的标准语言
- 用于维护管理数据库
- 包括数据查询、数据更新、访问控制、对象管理等功能
SQL分类
- DDL:数据定义语言
- DML:数据操纵语言
- DQL:数据查询语言
- DCL:数据控制语言
DDL:数据定义语言
用于创建数据库对象、如库、表、索引等
- create 创建
- drop 删除(删除整张表,不保留结构)
- alter (改变)
操作
[root@localhost ~]# mysql -u root -p
#进入MySQL,记得输入密码
mysql> create database sgr;
#创建一个名字叫sgr的数据库
mysql> use sgr;
#进入sgr数据库中
mysql> show tables;
#查看sgr数据库中的表,表中没有东西,就不会显示出来
CREATE TABLE 表名 (字段1 数据类型,字段2 数据类型[,...][,PRIMARY KEY (主键名)]);
#主键一般选择能代表唯一性的字段不允许取空(NULL),一个表只能有一个主键。
mysql> create table nhy(id int not null,name char(10) not null,score decimal(5.2),password char(20) default' ',PRIMARY KEY (id));
#id、name、score、password:表示创建的字段
#int、char、decimal:表示创建的数据类型
#not null:表示不能为空
#10:表示字符串长度
#5.2:表示可以有5个整数,两位小数
#primary key:表示将id设置为主键
#创建表的结构
mysql> desc nhy;
#查看表的结构
#drop可以指定删除表或数据库(一般没人删除数据库),是删除整张表
mysql> drop table ni;
mysql> alter table nhy change password password char(50);
#修改password的字符串长度
DML:数据操纵语言
用于对表中的数据进行管理,用来插入、删除和修改数据库中的数据
- insert 插入
- update 更新
- delete 删除(只删除表里面的数据,保留表的结构)
操作
mysql> insert into nhy (id,name,score,password) values(1,'dage',90.5,('123456'));
#在表中插入数据,
在添加密码时候,密码前面加上password,表示添加的密码为加密的,不加则表示不加密直接显示
mysql> insert into nhy (id,name,score,password) values(2,'erge',80.5,password('123'));
mysql> update nhy set name='xiaodi' where id=2;
#将id=2的信息name字段修改成xiaodi
mysql> delete from nhy;
#删除表中的的数据
DQL:数据查询语言
select 查询
操作
mysql> select * from nhy;
#查询nhy表
mysql> select * from nhy where id=2;
#查询nhy表中id=2的信息
mysql> select * from nhy limit 2;
#表示只查看表中前两行的数据
mysql> select * from nhy limit 1,3;
#表示只显示第一行之后的三行
扩展
在数据表中删除指定的数据记录
mysql> delete from nhy where id=4;
#只删除表里面id=4的数据
删除字段
mysql> alter table nhy drop score;
#删除表中score字段
mysql复制命令
mysql> create table tb like nhy;
#将nhy数据结构复制一份到tb里面