[MYSQL / Mariadb]数据库学习-库、表管理
数据库基础的库、表管理
- 数据库基础
- 库管理
- MySQL中加上system,可以执行Linux命令
- 一行写多个命令
- 表管理
- 建表 例:
- 查表架构
- 创建表记录
- 查表的创建命令和属性
- 加\G,可分行显示
- 修改表记录:
- 删除表记录:
- 下面是自定义练习
- 改表的字符格式:`mysql> alter table db1.st1 DEFAULT CHARSET=utf8;`
- alter table 库.表 DEFAULT CHARSET=字符格式;
数据库基础
数据库基础
1)连接MySQL服务
连接方式:客户端连接MySQL服务的方法
命令行
web页面
安装图形软件
编写脚本(PHP、Java、Python…)
使用mysql 命令:
mysql -h服务器IP -u用户名 -p密码 [数据库名]
quit 或 exit 退出
2)数据存储流程客户端把数据存储到数据库服务器上的步骤连接数据库服务器建库 ##相当于创建文件夹建表 ##相当于创建文本文件插入记录 ##相当于在文件文件中写入内容断开连接 3)MySQL管理环境SQL命令使用规则SQL命令不区分字母大小写(密码,变量值除外)每条SQL命令以;结束默认命令不支持Tab键自动补齐\c 终止sql命令4)SQL命令分类管理数据库使用SQL(结构化查询语言)DDL 数据定义语言:如 create、alter、dropDML 数据操作语言:如 insert、update、deleteDCL 数据控制语言:如 grant、revokeDTL 数据事务语言:如 commit、rollback、savepoint
库管理
库类似于文件夹,用来存储表
…
show databases; ##显示已有的库
select user(); ##显示连接用户
use 库名; ##切换库
select database(); ##显示当前所在的库
create database 库名; ##创建新库
show tables; ##显示已有的表
drop database 库名; ##删除库
库名的命名规则:仅可以使用数字、字母、下划线、不能纯数字区分字母大小写,具有唯一性不可使用指令关键字、特殊字符create database DB1; ##创建数据库DB1create database db1; ##创建数据库db1
MySQL中加上system,可以执行Linux命令
mysql> system ls /var/log/mysql/mysqld.log
/var/log/mysql/mysqld.log
mysql>
一行写多个命令
mysql> create database db1; create database db2;
ERROR 1007 (HY000): Can't create database 'db1'; database exists
Query OK, 1 row affected (0.11 sec)mysql> show databases;
+--------------------+
| Database |
+--------------------+
| db1 |
| db2 |
| dbaaa |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
7 rows in set (0.15 sec)
表管理
表管理命令:
建表:表用于存储数据文件
create table 库名.表名(
字段名1 类型(宽度),
字段名2 类型(宽度),
… …
) DEFAULT CHARSET=utf8; ##指定中文字符,让表支持插入中文
建表 例:
mysql> create table db1.st1(name char(10),sex char(4),address char(60));
Query OK, 0 rows affected (2.06 sec)mysql> use db1;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed验证:
mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| st1 |
+---------------+
1 row in set (0.04 sec)
desc 库名.表名; ##查看表结构drop table 库名.表名; ##删除表select * from 库名.表名; ##查看表记录,表的内容insert into 库名.表名 values(值列表); ##插入表记录update 库名.表名 set 字段=值; ##修改表记录delete from 库名.表名; ##删除表记录show create table 表名; ##查看创建表的命令和相关属性
查表架构
例:
mysql> desc db1.st1;
+---------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+----------+------+-----+---------+-------+
| name | char(10) | YES | | NULL | |
| sex | char(4) | YES | | NULL | |
| address | char(60) | YES | | NULL | |
+---------+----------+------+-----+---------+-------+
3 rows in set (0.02 sec)
创建表记录
创建用户信息mysql> insert into db1.st1 values ("ohno","boy","guangdong"),("ninomiya","boy","shanxi"),("xiaoxu","girl","shenzhen");
Query OK, 3 rows affected (0.30 sec)
Records: 3 Duplicates: 0 Warnings: 0验证,查表记录
mysql> select * from db1.st1; +----------+------+-----------+
| name | sex | address |
+----------+------+-----------+
| ohno | boy | guangdong |
| ninomiya | boy | shanxi |
| xiaoxu | girl | shenzhen |
+----------+------+-----------+
3 rows in set (0.01 sec)mysql>
查表的创建命令和属性
mysql> show create table st1;
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| st1 | CREATE TABLE `st1` (`name` char(10) DEFAULT NULL,`sex` char(4) DEFAULT NULL,`address` char(60) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
加\G,可分行显示
mysql> show create table db1.st1 \G;
*************************** 1. row ***************************Table: st1
Create Table: CREATE TABLE `st1` (`name` char(10) DEFAULT NULL,`sex` char(4) DEFAULT NULL,`address` char(60) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.01 sec)ERROR:
No query specified
修改表记录:
mysql> select * from db1.st1;
+----------+------+-----------+
| name | sex | address |
+----------+------+-----------+
| ohno | boy | guangdong |
| ninomiya | boy | shanxi |
| xiaoxu | girl | shenzhen |
| jun | boy | dongjing |
| sakurai | girl | qingying |
| aiba | girl | qianye |
+----------+------+-----------+
6 rows in set (0.01 sec)例:改性别列为女生:
mysql> update db1.st1 set sex="girl";
Query OK, 3 rows affected (0.17 sec)
Rows matched: 6 Changed: 3 Warnings: 0mysql> select * from db1.st1;
+----------+------+-----------+
| name | sex | address |
+----------+------+-----------+
| ohno | girl | guangdong |
| ninomiya | girl | shanxi |
| xiaoxu | girl | shenzhen |
| jun | girl | dongjing |
| sakurai | girl | qingying |
| aiba | girl | qianye |
+----------+------+-----------+
6 rows in set (0.00 sec)
删除表记录:
mysql> delete from
库名.表名;
下面是自定义练习
1、建表结构:
mysql> create table db1.st2 (name char(20), sex char(5), age char(10) ) DEFAULT CHARSET=utf8;
Query OK, 0 rows affected, 1 warning (0.57 sec)2、查表结构:
mysql> desc db1.st2;
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| name | char(20) | YES | | NULL | |
| sex | char(5) | YES | | NULL | |
| age | char(10) | YES | | NULL | |
+-------+----------+------+-----+---------+-------+
3 rows in set (0.02 sec)3、查建表语句:
mysql> show create table db1.st2 \G;
*************************** 1. row ***************************Table: st2
Create Table: CREATE TABLE `st2` (`name` char(20) DEFAULT NULL,`sex` char(5) DEFAULT NULL,`age` char(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)ERROR:
No query specified4、添加表记录:
mysql> insert into db1.st2 values ("zhangsan","boy","32"),("lisi","boy",23),("wangwu","boy","32");
Query OK, 3 rows affected (0.11 sec)
Records: 3 Duplicates: 0 Warnings: 0mysql> select * from db1.st2;
+----------+------+------+
| name | sex | age |
+----------+------+------+
| zhangsan | boy | 32 |
| lisi | boy | 23 |
| wangwu | boy | 32 |
+----------+------+------+
3 rows in set (0.00 sec)mysql>5、更新表记录,年龄行为26岁:
mysql> update db1.st2 set age="26";
Query OK, 3 rows affected (0.14 sec)
Rows matched: 3 Changed: 3 Warnings: 0mysql> select * from db1.st2;
+----------+------+------+
| name | sex | age |
+----------+------+------+
| zhangsan | boy | 26 |
| lisi | boy | 26 |
| wangwu | boy | 26 |
+----------+------+------+
3 rows in set (0.00 sec)6、删表记录
mysql> delete from db1.st2;
Query OK, 3 rows affected (0.09 sec)mysql> select * from db1.st2;
Empty set (0.00 sec)mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| st1 |
| st2 |
+---------------+
2 rows in set (0.08 sec)7、删表:
mysql> drop table db1.st2;
Query OK, 0 rows affected (2.08 sec)mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| st1 |
+---------------+
1 row in set (0.01 sec)mysql>
改表的字符格式:mysql> alter table db1.st1 DEFAULT CHARSET=utf8;
alter table 库.表 DEFAULT CHARSET=字符格式;
[MYSQL / Mariadb]数据库学习-库、表管理相关推荐
- MySQL Workbench 使用教程 - 如何使用 Workbench 操作 MySQL / MariaDB 数据库中文指南
MySQL Workbench 是一款专门为 MySQL 设计的可视化数据库管理软件,我们可以在自己的计算机上,使用图形化界面远程管理 MySQL 数据库. 有关 MySQL 远程管理软件,你可以选择 ...
- MySQL/MariaDB数据库
指令 终端指令 mysql -uroot -p 回车 输入密码后再回车 source 全路径/xxx.sql;//导入*.sql批处理文件 show variables like '%collatio ...
- Atitit. 数据库-----catalog与schema的设计区别以及在实际中使用 获取数据库所有库表 java jdbc php c#.Net...
Atitit. 数据库-----catalog与schema的设计区别以及在实际中使用 获取数据库所有库表 java jdbc php c#.Net 1. -catalog与schema的设计区别1 ...
- centos中用C/C++语言连接MySQL/MariaDB数据库
centos中用C/C++语言连接MySQL/MariaDB数据库 安装MariaDB 设置字符集(别管是什么,干就完事了) 设置远程链接MariaDB 上C语言 安装MariaDB yum inst ...
- MariaDB数据库刷新权限表命令
当授权或者修改用户权限时,往往不会马上生效的这是因为数据库没有马上去更新权限相关的表,而是在内存中所以一般都会使用更新权限表,来实现马上更新 MariaDB数据库刷新权限表命令 flush privi ...
- mysql导出数据库数据及表结构
mysql导出数据库数据及表结构 1,导出远程数据库数据到本地 mysql -A wj_sms -h192.168.1.105 -uroot -p4321 -ss -e "set NAMES ...
- MySql 查询数据库中所有表名
MySql 查询数据库中所有表名 查询数据库中所有表名 select table_name from information_schema.tables where table_schema='csd ...
- mysql查询数据库和每个表所占空间大小
首先查询所有数据库占用磁盘空间大小的SQL语句如下: select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') ...
- mysql/mariadb 进阶知识之表设计和查询
进阶知识之表设计和查询 学生信息.成绩.课程数据表,提取码:iqub 评论及回复数据表,提取码:hdr7 一.表设计之数据类型选择 1.1.表设计步骤 第一步,确定大类型:数字.字符串.日期等级等: ...
最新文章
- Android11模拟定位开发,Android 11 中的位置信息更新
- C六:指针可以比较大小
- [AHOI 2016初中组]迷宫
- 基于Tomcat的JSP开发过程中的中文乱码问题解决
- 大数据在零售业的应用
- Spring自定义注解(验证身份证+性别+地区)
- 基于单片机的水库控制系统设计
- [Python从零到壹] 十六.文本挖掘之词云热点与LDA主题分布分析万字详解
- idea Ctrl+Alt+T 快捷键失效、无法弹出surround with、与qq热键冲突-解决办法
- Scikit-learn学习系列 | 1. sklearn的简要使用介绍与数据集获取
- redisson 主从模式Unsupported protocol version 50_华米Amazfit Pop智能手表发布:支持50米防水,血氧检测 - 数码 - IT商业网...
- Python的平凡之路(3)
- html:link-icon标签引入网站小图标favicon.ico
- html图片纵向无缝滚动,HTML内容或图片无缝滚动技巧
- MISC相关工具下载
- 达梦数据库DM的dmap服务启动失败dmap init failed如何解决
- 精品大学生必备网站,值得收藏
- virtualBox下载失败或太慢
- 北斗开放平台,更加核心的语音压缩功能
- 将matlab文件写成csv格式