mysql常用语句一: 数据定义语言DDL
SQL语言中常用的语句可以分为四类:
数据定义语言DDL;
数据操纵语言DML;
数据查询语言DQL;
数据控制语言DCL。
这篇博文以mysql为例,记录下常用的DDL语句。
DDL用来创建数据库、表、视图等。
1 数据库的操作
1.1 创建数据库
CREATE DATABASE IF NOT EXISTS 数据库名
DEFAULT CHARACTER SET utf8;
需要说明的是:
if not exists是为了避免有已经存在的数据库而报错;
utf8是数据库编码,中间没有杠。
1.2 删除数据库
DROP DATABASE IF EXISTS 数据库名;
if exists是为了避免数据库不存在而报错;
1.3 修改数据库
ALTER DATABASE 数据库名 CHARACTER SET 字符编码;
# 例如:
alter database how2j character set gb2312;
一般对数据库的修改也就是改一下字符编码
1.4 查看数据库
# 查看已有数据库
show databases;
# 数据库的编码
SHOW CREATE DATABASE 数据库名;
如下图所示。

2 表的操作
2.1 创建表
CREATE TABLE hero (
id int(11) AUTO_INCREMENT,
name varchar(30) ,
hp float ,
damage int(11) ,
PRIMARY KEY (id)
) DEFAULT CHARSET=utf8;
说明:
创建表hero;
字段有:id, name, hp, damage;
id为主键,且自增;
编码为utf8。
2.2 删除表
DROP TABLE 表名;
数据表之间经常存在外键关联的情况,这时如果直接删除父表,会破坏数据表的完整性,也会删除失败。
删除父表有以下两种方法:
- 先删除与它关联的子表,再删除父表;但是这样会同时删除两个表中的数据。
- 将关联表的外键约束取消,再删除父表;适用于需要保留子表的数据,只删除父表的情况。
2.3 查看表结构
# 以表格的形式来展示表的字段信息,
# 包括字段名、字段数据类型、是否为主键、是否有默认值等
DESC 表名;

# SHOW CREATE TABLE 命令会以 SQL 语句的形式来展示表信息。
# 和 DESCRIBE 相比,SHOW CREATE TABLE 展示的内容更加丰富。
# 它可以查看表的存储引擎和字符编码。
# 另外,你还可以通过\g或者\G参数来控制展示格式。
SHOW CREATE TABLE 表名;

SHOW CREATE TABLE 表名 \G;

2.4 修改表结构
ALTER TABLE <表名> [修改选项]
# 修改选项的语法格式如下:
{ ADD COLUMN <列名> <类型>
| CHANGE COLUMN <旧列名> <新列名> <新列类型>
| ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT }
| MODIFY COLUMN <列名> <类型>
| DROP COLUMN <列名>
| RENAME TO <新表名>
| CHARACTER SET <字符集名>
| COLLATE <校对规则名> }
看一些例子:
# 修改表名
ALTER TABLE 旧表名 RENAME [TO] 新表名;
# to可加可不加。
# 修改编码
ALTER TABLE 表名 [DEFAULT] CHARACTER SET 编码;
# 添加字段,以student表为例。
# 末尾添加字段
ALTER TABLE student ADD age INT(4);
# 开头添加字段
ALTER TABLE student ADD stuId INT(4) FIRST;
# 特定字段后添加,在name字段后添加stuno字段
ALTER TABLE student ADD stuno INT(11) AFTER name;
# 修改字段类型,将student表中name字段的类型改为VARCHAR(30)
ALTER TABLE student MODIFY name VARCHAR(30);
# 删除字段,删除student表中的name字段
ALTER TABLE student DROP name;
智能推荐
Mysql常用语句
SQL语句分为三类:DDL、DML、DCL。 DDL:数据定义语句,是对数据库内部对象进行创建、删除、修改等操作的语言。关键字包括create、drop、alter DML:数据操纵语句,用于添加、删除、更新和查询数据库记录,关键字包括insert、delete、update、select等 DCL:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句 一般开发人员很少接触DCL语句,本文不...
MySQL常用语句
列:字段 行:一条记录 表中一行记录对应一个Java对象的数据 SQL:Structure Query Language。(结构化查询语言) SQL被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后来被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。 各数据库厂商都支持ISO的SQL标准。普通话 各数据库厂商在标准的基础上做了自己的扩展。方言 DDL(Data Definit...
layer弹出层的简单使用
一、layer的icon样式 以上样式测试代码: [javascript] view plain copy layer.confirm(‘icon测试’, {icon: 1, title:‘提示’}, function(index){ //do...
Nginx 解析漏洞复现
漏洞环境搭建 时间有限,漏洞环境搭建教程简单,在此不再赘述。 具体项目地址:https://github.com/vulhub/vulhub 搭建教程及说明可参考:https://vulhub.org/ -还是挺简单的- Nginx 解析漏洞复现步骤如下: 靶机环境 由此可知,该漏洞与Nginx、php版本无关,属于用户配置不当造成的解析漏洞。 启动环境 复现 1). 访问 http://IP/u...
ArrayList 源码解析(JDK1.7)
ArrayList 源码解析(JDK1.7) ps: 我思考了一下…想要不要发这篇博客… 感觉作为一个初学者…发这种源码解析… 尤其当做学习记录这样的东西来做…感觉没有任何的重点可言… 不过思考了一下…反正估计也没人看 (狗头) 就发了吧 纯属个人 … emmm 萌新的学习经历- - 大...
猜你喜欢
GDB随笔(一)
在编译的时候必须加上-g,生成的目标文件才能够进行调试。(我们调试的是目标文件) -g选项的作用是在目标文件中加入源代码的信息,保证gdb能找到源文件。 -o选项,相当于指定一个文件作为目标文件。 可以做一个实验:由main.c生成main(-g),然后将m**在目标文件中加入源代码的信息,保证gdb能找到源文件。ain.c改成其他名字,然后调用gdb main,就会发现对gdb使用命令(list...
tensorboard报No dashboards are active for the current data set
遇到这个错误,通过两步可以解决这个问题 一、检查所指定的目录下是否存在event文件 类似于上面箭头所指的文件,并不需要所指定的目录为event的上一级目录,比如像下面这种情况 在启动tensorboard的时候,指定到log目录就行了,命令如下 二、确定logdir的路径是否正确 我们在确定event文件确实存在之后,还需要确定logdir的路径是否正确,因为logdir的路径中不能包含中文、空...
struts2--动态方法调用的三种方式
一般情况下,我们是通过实现action中execute方法来实现请求处理,这样子一个action中就只能写一个方法,当我需要实现很多方法的时候写多个action显然是很不合理的,因此就需要使用动态调用来实现。 方式一:指定method属性 也就是说通过在struts.xml文件中通过配置action标签的method属性来设置即可。 但是这个方法有一个缺陷,当一个action中有很多方法的时候就需...
深度剖析HashMap(一)——基于JDK7
HashMap是每个Java/Android程序员必须掌握的一种容器。在这个专题下将分若干篇文章对其进行深度剖析。由于JDK版本的不同,HashMap的底层实现也有些许差别。本文先对基于JDK7的HashMap进行分析,之后会奉上JDK8中对HashMap实现改动的分析。 一、HashMap结构概览 在JDK7中,HashMap说白了就是用到两种数据结构——数组与链表。 数...
Faster R-CNN基于pytorch的原理
相关资料以及下载 代码地址:https://github.com/ruotianluo/pytorch-faster-rcnn.git 原理参考:https://blog.csdn.net/zm147451753/article/details/88218619 代码编译和运行 代码使用方法,暂时没找到win系统下的方法,为此,我安装了unbuntu,还是蛮好用的。 代码的编译运行准...
