MySQL数据库篇之库的增删改查
主要内容:
一、系统数据库介绍
二、创建数据库
三、数据库增删改查
四、MySQL添加注释
1️⃣ 系统数据库介绍
1、初识sql语句
有了mysql这个数据库软件,就可以将程序员从对数据的管理中解脱出来,专注于对程序逻辑的编写
mysql服务端软件即mysqld帮我们管理好文件夹以及文件,前提是作为使用者的我们,需要下载mysql的客户端,
或者其他模块来连接到mysqld,然后使用mysql软件规定的语法格式去提交自己命令,实现对文件夹或文件的管理。
该语法即sql(Structured Query Language 即结构化查询语言)
SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。SQL语言分为3种类型:
1、DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER 2、DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT 3、DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE
2、MySQL数据库登录后,查看数据库的初始数据库(show databases; ),一般会有以下几个库文件:
information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等
performance_schema: MySQL 5.5开始新增一个数据库:主要用于收集数据库服务器性能参数,记录处理查询请求时发生的各种事件、锁等现象
mysql: 授权库,主要存储系统用户的权限信息
test: MySQL数据库系统自动创建的测试数据库
2️⃣ 创建数据库
1、语法
create database 数据库 charset utf8;
2、数据库命名规则
可以由字母、数字、下划线、@、#、$
区分大小写
唯一性
不能使用关键字如 create select
不能单独使用数字
最长128位
3️⃣ 数据库相关操作
SQL语句:
操作文件夹(库)
增 create database db1 charset utf8; 查 show create database db1;
查看所有数据库(show databases;)
改
改数据库:alter database db1 charset gbk;
删
删数据库:drop database db1; 操作文件
切换文件夹:use db1; 增 :create table t1(id int,name char); 查:
查看当前所在文件夹:select database();
查看当前库中所有表 :show tables;
查看当前表:show create t3\G 或者:desc t1;(更直观) 改:
alter table t1 modify name char(6);
alter table t1 change name Name char(7);
删:
drop table t1; 操作文件内容(记录):
增:insert t1(id,name) value(1,'cc'),(2,'cc2'),(3,'cc3'); 查:select id,name from db1.t1;
select * from db1.t1; 改:update db1.t1 set name='CC';(表中内容全改)
update db1.t1 set name='hyt' where id=2; 删:delete from t1;
delete from t1 where id=2;
4️⃣ MySQL添加注释
在MySQL数据库中, 字段或列的注释是用属性comment来添加。
创建新表的脚本中, 可在字段定义脚本中添加comment属性来添加注释。
1、在新建表的时候添加注释
mysql> create table test(
-> id int primary key comment '添加注释测试',
-> name varchar(20)
-> );
Query OK, 0 rows affected (0.39 sec)
查看添加的注释的表信息,可使用语句 “show full columns from test;”
mysql> show full columns from test;
+-------+-------------+-----------------+------+-----+---------+-------+---------------------------------+--------------------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+-------+-------------+-----------------+------+-----+---------+-------+---------------------------------+--------------------+
| id | int(11) | NULL | NO | PRI | NULL | | select,insert,update,references | 添加注释测试 |
| name | varchar(20) | utf8_general_ci | YES | | NULL | | select,insert,update,references | |
+-------+-------------+-----------------+------+-----+---------+-------+---------------------------------+--------------------+
2 rows in set (0.00 sec)
2、为建好的表添加或修改注释
mysql> alter table test comment'这是测试表';
Query OK, 0 rows affected (0.16 sec)
Records: 0 Duplicates: 0 Warnings: 0
查看表的的注释(两种方法)
# 方法一:在生成的SQL语句中看 (show create table 表名\G;),实例如下:
mysql> show create table test\G; # \G 表示格式化显示
*************************** 1. row ***************************
Table: test
Create Table: CREATE TABLE `test` (
`id` int(11) NOT NULL COMMENT '添加注释测试',
`name` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='这是测试表'
1 row in set (0.00 sec) ERROR:
No query specified
# 方法二:在元数据的表里面看(复杂一点)
过程:
use information_schema;
select * from tables where table_schema='数据库名' and table_name='表名' \G
实例:
mysql> select * from tables where table_schema='db1' and table_name='test'\G;
*************************** 1. row ***************************
TABLE_CATALOG: def
TABLE_SCHEMA: db1
TABLE_NAME: test
TABLE_TYPE: BASE TABLE
ENGINE: InnoDB
VERSION: 10
ROW_FORMAT: Compact
TABLE_ROWS: 0
AVG_ROW_LENGTH: 0
DATA_LENGTH: 16384
MAX_DATA_LENGTH: 0
INDEX_LENGTH: 0
DATA_FREE: 0
AUTO_INCREMENT: NULL
CREATE_TIME: 2018-06-02 12:15:31
UPDATE_TIME: NULL
CHECK_TIME: NULL
TABLE_COLLATION: gbk_chinese_ci
CHECKSUM: NULL
CREATE_OPTIONS:
TABLE_COMMENT: 这是测试表
1 row in set (0.00 sec) ERROR:
No query specified
3、为建好的表里的字段添加或修改注释,并查看效果
mysql> alter table test change column id id int not null default 0 comment '测试表id';
Query OK, 0 rows affected (0.17 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> show full columns from test;
+-------+-------------+----------------+------+-----+---------+-------+---------------------------------+-------------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+-------+-------------+----------------+------+-----+---------+-------+---------------------------------+-------------+
| id | int(11) | NULL | NO | PRI | 0 | | select,insert,update,references | 测试表id |
| name | varchar(20) | gbk_chinese_ci | YES | | NULL | | select,insert,update,references | |
+-------+-------------+----------------+------+-----+---------+-------+---------------------------------+-------------+
2 rows in set (0.00 sec) mysql> alter table test change column id id int not null default 1 comment '修改后的测试表id';
Query OK, 0 rows affected (0.13 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> show full columns from test;
+-------+-------------+----------------+------+-----+---------+-------+---------------------------------+-------------------------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+-------+-------------+----------------+------+-----+---------+-------+---------------------------------+-------------------------+
| id | int(11) | NULL | NO | PRI | 1 | | select,insert,update,references | 修改后的测试表id |
| name | varchar(20) | gbk_chinese_ci | YES | | NULL | | select,insert,update,references | |
+-------+-------------+----------------+------+-----+---------+-------+---------------------------------+-------------------------+
2 rows in set (0.02 sec)
MySQL数据库篇之库的增删改查的更多相关文章
- MySQL数据库篇之表的增删改查
主要内容: 一.表介绍 二.创建表 三.查看表结构 四.修改表结构 五.复制表 六.删除表 1️⃣ 表介绍 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称 ...
- Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查
本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...
- SQL---->mySQl数据库1------数据库的增删改查备份恢复
1.在终端输入:mysql -uroot -p 然后输入密码,进入客户端 2.输入:\s 3.创建数据库 3.1创建字符集是utf-8的数据库 3.2创建带校验规则的数据库,校验规则可以在a ...
- C++实现对MySQL数据库的连接,以及增删改查
安装好MySQL,建好数据表的前提下. 如果只是想简单实现添加数据或者其他一个操作数据,可以参考另一篇博客. https://www.cnblogs.com/ming-4/p/11544514.htm ...
- nodejs链接mysql数据库,执行简单的增删改查操作
var mysql = require('mysql'); var conn = mysql.createConnection({ host: 'localhost', user: 'root', p ...
- 用CI框架向数据库中实现简单的增删改查
以下代码基于CodeIgniter_2.1.3版 用PHP向数据库中实现简单的增删改查(纯代码)请戳 http://www.cnblogs.com/corvoh/p/4641476.html Code ...
- [Django框架 - 静态文件配置、request对象方法初识、 pycharm链接数据库、ORM实操增删改查、django请求生命周期]
[Django框架 - 静态文件配置.request对象方法初识. pycharm链接数据库.ORM实操增删改查.django请求生命周期] 我们将html文件默认都放在templates文件夹下 将 ...
- 一、数据库表中字段的增删改查,二、路由基础.三、有名无名分组.四、多app共存的路由分配.五、多app共存时模板冲突问题.六、创建app流程.七、路由分发.八、路由别名,九、名称空间.十、反向解析.十一、2.x新特性.十二、自定义转换器
一.数据库表中字段的增删改查 ''' 直接在modules中对字段进行增删改查 然后在tools下点击Run manage.py Task执行makemigrations和migrate 注意在执行字 ...
- django-数据库的增删改查操作
django-数据库的增删改查操作 1.添加用户记录 def login(request): 增加用户记录 使用save()方法来增加记录 username = UserInfo(username=' ...
随机推荐
- python3 升级 pip9.0.1 到pip-9.0.3
首先试试 python -m pip install --upgrade pip python3.5 升级 pip-9.0.3报错 You are using pip version 9.0.1, h ...
- PHP 生成类似 SqlServer NEWID() 全局唯一标识符
最近在对接SqlServer中对方有一个字段要求 SqlServer 中 有一个 NEWID() 就是生成36位的 唯一标识符 -> 8CBD3198-297D-4037-A859-B27BB ...
- Nchan 实时消息ha 配置
备注: Nchan 的数据持久化,以及ha 都是通过redis实现的,如果要做到无单点可以使用redis cluster 同对于Nchan server 进行多副本 1. 安装 ...
- wordpress上传文件,插件无法建立目录(根本原因解决)
刚建立的wp网站经常遇到上传图片或者下载插件“无法建立目录”的问题,肯定是权限的问题,网上大部分解决方案都是把uploads或者 plugins权限手动改成777, 有一部分人成功了,有一部分没成功, ...
- MySQL主从报错解决:Failed to initialize the master info structure
大清早收到一个MySQL的自定义语言告警 :replication interrupt,看来是主从同步报错了. 登陆MySQL,执行 show slave status \G 发现salve已经停止了 ...
- MEF学习总结(1)---总体架构
用了很久的MEF框架来做依赖注入,最近想把它的原理和机构总结一下,主要包括如下几个方面: 1. 总体架构 2. .Net Composition Primitive 3. Attribute Mode ...
- qt下用启动图
void showSplash(void) { QSplashScreen*splash=newQSplashScreen; splash->setPixmap(QPixmap(":/ ...
- linux 时钟时间,用户CPU时间,系统CPU时间 .
之前看过几次这几个的概念,但还是老是记不住,干脆就直接写下来,以后方便看~ 所谓的时钟时间又叫做墙上时钟时间,它是进程运行的时钟总量,其值与系统中同时运行的进程数有关,不过一般在讨论时钟时间的时候都是 ...
- (转)winform安装项目、安装包的制作、部署
本文转载自:http://zhan.renren.com/cxymst?gid=3602888498037535727&from=post&checked=true 1,解决方案—添加 ...
- 第七章 HTTP流量管理(一) gateway
Gateway: istio的一种资源类型,Istio Gateway告诉k8s的istio-ingressgateway pods可以打开哪些主机和端口(如下的80是 ingressgateway ...