您现在的位置是:首页 >技术教程 >数据库【库,表操作】网站首页技术教程
数据库【库,表操作】
目录
简单了解
1.连接数据库服务器
mysql -h 127.0.0.1 -P 3306 -u root -p
- 其中-h是服务器的IP地址,没有填写127.0.0.1默认连接本地
- 3306是端口号
- root是用户名
- -p 后面可以跟写密码
2.创建数据库
create database 数据库名字;
创建数据库,本质创建一个目录。
就是在 /var/lib/mysql
路径下创建了dome1数据库(目录)。
路径可以在/etc/my.cnf
中查看MySQL的配置文件。
3.创建表
create table 表名(...);
本质是在使用的数据库目录中创建了文件。
4.使用数据库
use 数据库名字;
5.数据库框架
6.SQL的分类
- DDL :数据定义语言,用来维护存储数据的结构,代表指令有(create、dorp、alter)
- DML :数据库操纵语言,用来对数据进行操作,代表指令有(insert、delete、updata)
- DCL :数据库控制语言,主要负责权限管理和事务,代表指令有(grant、revoke、commit)
7.存储引擎
存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。MySQL的核心就是插件式存储引擎,支持多种存储引擎。
查看存储引擎
show engines;
库操作
1.创建数据库
create database if not exists 数据库名字;
后面可以跟写charset utf8
、collate utf8_general_ci
表示字符集和校对规则。
2.查看系统默认字符集以及校验规则
show variables like 'character_set_database';
show variables like 'collation_database';
3.查看数据库支持的字符集和校验规则
show charset;
show collation;
4.查看数据库
show databases;
5.显示数据库语句
show create database 数据库名字;
6.删除数据库
drop database 数据库名字;
删除后,该数据库对应的表数据全部被删。
7.修改数据库
alter database 数据库名字 [...];
8.备份和恢复
mysqldump -P 3306 -p 密码 -B 数据库名字 > 数据库备份存储的文件路径;
如:
source ./dome.sql;
注意:
- 如果备份的不是整个数据库,而是其中的一张表
mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql
- 同时备份多个数据库
mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径
- 如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用
source来还原。
9.查看连接情况
show processlist;
可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。
表操作
1.创建表
create table user(
id int,
name varchar(11) commit '用户名',
pssword varchar(11) commit '用户密码'
)character set utf8;
2.查看表结构
desc 表名;
3.修改表结构
先插入两条记录
insert into user (id,name,pssword) values (1,'猫爷','123456'),(2,'狗哥','654321');
select * from user;
+------+--------+---------+
| id | name | pssword |
+------+--------+---------+
| 1 | 猫爷 | 123456 |
| 2 | 狗哥 | 654321 |
+------+--------+---------+
1、增加表中增加一个字段
在该表中添加一个年龄字段
alter table user add age int comment '用户的年龄';
desc user;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(11) | YES | | NULL | |
| pssword | varchar(11) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
select * from user;
+------+--------+---------+------+
| id | name | pssword | age |
+------+--------+---------+------+
| 1 | 猫爷 | 123456 | NULL |
| 2 | 狗哥 | 654321 | NULL |
+------+--------+---------+------+
新添加字段后,行记录中的该字段为NULL。
语法:ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...);
2、删除表中的一个字段
alter table user drop age;
desc user;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(11) | YES | | NULL | |
| pssword | varchar(11) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
如果删除了有数据的字段,那么数据也就删除了。
语法:ALTER TABLE tablename DROP (column);
3、修改表的一个字段
alter table user modify name varchar(33) comment '用户名';
desc user;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(33) | YES | | NULL | |
| pssword | varchar(11) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
语法:ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column datatype]...);
其实不建议对已经创建好了的表修改其结构。第一,可能导致数据的丢失;第二,影响到一些业务逻辑,可能你修改了表结构,影响到了上层代码里面的逻辑,导致多读数据或者少读等。
4、修改列名
把 name 列名修改 mingzi(拼音)
alter table employee change name mingzi varchar(60); --新字段需要完整定义
desc employee;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| mingzi | varchar(60) | YES | | NULL | |
| pssword | varchar(11) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
4.修改表名
将表名user 修改为 employee
alter table user rename to employee;
其中 to 可以省略
修改完成
总结
记录学习MySQL的过程,不会止步于此,期待后文吧。