关键词:
DDL实战文章目录
介绍
DDL(Data Definition Languages)语句:即数据库定义语句
对于数据库而言实际上每一张表都表示是一个数据库的对象,而数据库对象指的就是DDL定义的所有操作,例如:表,视图,索引,序列,约束等等,都属于对象的操作,所以表的建立就是对象的建立,而对象的操作主要分为以下三类语法
- 创建对象:CREATE 对象名称;
- 删除对象:DROP 对象名称;
- 修改对象:ALTER 对象名称;
DDL 命令
- 数据库的安装相关操作再此就不在为大家演示了,直接进入正题!
数据库相关操作
一. 创建数据库
- 语法:
create database 数据库名字
;
mysql> create database sqltest;
- 结果:
二. 查看已经存在的数据库
- 语法:
show databases
;
mysql> show databases;
- 结果:
可以发现,在上面的列表中除了刚刚创建的 mzc-test,sqltest,外,还有另外 4 个数据库,它们都是安装MySQL 时系统自动创建的,其各自功能如下。
- information_schema:主要存储了系统中的一些数据库对象信息。比如用户表信息、列信息、权限信息、字符集信息、分区信息等。
- cluster:存储了系统的集群信息。
- mysql:存储了系统的用户权限信息。
- test:系统自动创建的测试数据库,任何用户都可以使用。
三. 选择数据库
- 语法:
use 数据库名
;
mysql> use mzc-test;
- 返回
Database changed
代表我们已经选择 sqltest 数据库,后续所有操作将在 sqltest 数据库上执行。
- 有些人可能会问到,连接以后怎么退出。其实,不用退出来,use 数据库后,使用show databases就能查询所有数据库,如果想跳到其他数据库,用use 其他数据库名字。
四. 查看数据库中的表
- 语法:show
tables
;
mysql> show tables;
- 结果:
五. 删除数据库
- 语法:
drop database 数据库名称
;
mysql> drop database mzc-test;
- 结果:
- 注意:删除时,最好用 `` 符号把表明括起来
数据库表相关操作
一. 创建表
语法:create table 表名 列名,数据类型,约束条件;
CREATE TABLE `Student`(
`s_id` VARCHAR(20),
`s_name` VARCHAR(20) NOT NULL DEFAULT '',
`s_birth` VARCHAR(20) NOT NULL DEFAULT '',
`s_sex` VARCHAR(10) NOT NULL DEFAULT '',
PRIMARY KEY(`s_id`)
);
- 结果
注意:表名还请遵守数据库的命名规则,这条数据后面要进行删除,所以首字母为大写。
二. 查看表定义
- 语法:
desc 表名
mysql> desc Student;
- 结果:
- 虽然 desc 命令可以查看表定义,但是其输出的信息还是不够全面,为了查看更全面的表定义信息,有时就需要通过查看创建表的 SQL 语句来得到,可以使用如下命令实现
- 语法:
show create table 表名 \\G;
mysql> show create table Student \\G;
- 结果:
- 从上面表的创建 SQL 语句中,除了可以看到表定义以外,还可以看到表的engine(存储引擎)和charset(字符集)等信息。
\\G
选项的含义是使得记录能够按照字段竖着排列,对于内容比较长的记录更易于显示。
三. 删除表
- 语法:
drop table 表名
mysql> drop table Student;
- 结果:
四. 修改表 (重要)
- 对于已经创建好的表,尤其是已经有大量数据的表,如果需要对表做一些结构上的改变,我们可以先将表删除(drop),然后再按照新的表定义重建表。这样做没有问题,但是必然要做一些额外的工作,比如数据的重新加载。而且,如果有服务在访问表,也会对服务产生影响。因此,在大多数情况下,表结构的更改一般都使用 alter table语句,以下是一些常用的命令。
1. 修改表类型
- 语法:
ALTER TABLE 表名 MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]
- 例如,修改表 student 的 s_name 字段定义,将 varchar(20)改为 varchar(30)
mysql> alter table Student modify s_name varchar(30);
- 结果:
2. 增加表字段
- 语法:
ALTER TABLE 表名 ADD [COLUMN] [FIRST | AFTER col_name];
- 例如,表 student 上新增加字段 s_test,类型为 int(3)
mysql> alter table student add column s_test int(3);
- 结果:
3. 删除表字段
- 语法:
ALTER TABLE 表名 DROP [COLUMN] col_name
- 例如,将字段 s_test 删除掉
mysql> alter table Student drop column s_test;
- 结果:
4. 字段改名
- 语法:
ALTER TABLE 表名 CHANGE [COLUMN] old_col_name column_definition [FIRST|AFTER col_name]
- 例如,将 s_sex 改名为 s_sex1,同时修改字段类型为 int(4)
mysql> alter table Student change s_sex s_sex1 int(4);
- 结果:
注意:change 和 modify 都可以修改表的定义,不同的是 change 后面需要写两次列名,不方便。但是 change 的优点是可以修改列名称,modify 则不能。
5. 修改字段排列顺序
-
前面介绍的的字段增加和修改语法(ADD/CNAHGE/MODIFY)中,都有一个可选项first|after column_name,这个选项可以用来修改字段在表中的位置,默认 ADD 增加的新字段是加在表的最后位置,而 CHANGE/MODIFY 默认都不会改变字段的位置。
-
例如,将新增的字段 s_test 加在 s_id 之后
-
语法:
alter table 表名 add 列名 数据类型 after 列名;
mysql> alter table Student add s_test date after s_id;
- 结果:
- 修改已有字段 s_name,将它放在最前面
mysql> alter table Student modify s_name varchar(30) default '' first;
- 结果:
注意:CHANGE/FIRST|AFTER COLUMN 这些关键字都属于 MySQL 在标准 SQL 上的扩展,在其他数据库上不一定适用。
6.表名修改
- 语法:
ALTER TABLE 表名 RENAME [TO] new_tablename
- 例如,将表 Student 改名为 student
mysql> alter table Student rename student;
- 结果:
其他不常用命令
- 剩下的命令在这就不一一演示了,大家下去可以自行测试。
语法 | 作用 |
---|---|
create view view_name as select id fROMtb_name; | 定义视图 |
alter table tb_name add columntexttext [first/after 已存在的列名 ]; | 添加一个text列 |
later table tb_name change 旧列名 新列名 数据类型; | 修改表的一个列的列名 |
alter table tb_name modify 列名 新数据类型; | 修改某列的数据类型 |
alter table tb_name rename 新表名; | 修改表的名字 |
alter table tb_name engine=innoDB/MyISAM… | 修改表的存储引擎 |
alter table tb_name add index idx_name on tb_name(id); | 创建普通索引索引idx_name基于id列 |
alter table add unique(name); | 创建唯一索引name |
alter table add primary key(列名) | 添加主键索引 |
alter table tb_name drop 列名; | 删除表的某列 |
drop index index_name on tb_name; | 删除表的某个索引 |
show index from tb_name; | 查看表的索引 |
登录数据库相关命令
一. 启动服务
语法:
mysql> net stop mysql
二. 关闭服务
语法:
mysql> net start mysql
三. 链接MySQL
- 语法:
mysql -u用户名 -p密码
;
root@243ecf24bd0a:/ mysql -uroot -p123456;
- 在以上命令行中,mysql 代表客户端命令,-u 后面跟连接的数据库用户,-p 表示需要输入密码。如果数据库设置正常,并输入正确的密码,将看到上面一段欢迎界面和一个 mysql>提示符。
四. 退出数据库
- 语法:
quit
mysql> quit
- 结果:
小主们,看完别忘记给博主点个赞。
九mysql常用函数汇总(代码片段)
...4.7改变数据类型的函数前置知识:一、数据库开发与实战专栏导学及数据库基础概念入门二、MySQL介绍及MySQL安装与配置三、MySQL数据库的基本操作四、MySQL存储引擎及数据类型五、数据导入与基本的SELECT语句六、MySQL数据库练... 查看详情
linux下mysql登录退出及常用命令
... 回车后输入密码退出exit或者quit 或者\\q 常用命令mysqladmin-u用户名-p旧密码password新密码 用来修改用户密码showdatabases; ... 查看详情
linux常用命令汇总(面向面试)
...0c;剩下的需要再学总结了一些面试比较可能会问道的命令文章目录linux常用命令汇总基础命令ulimitdos2unix和unix2dos查看活动进程ps进程信息top进程cpu内存信息pidstat进程资源查看内存free跟踪进程pstackstrace网络相关telnettraceroutenetstattcp... 查看详情
idea常用的小技巧汇总,java新手上路必备,快上车!(持续更新)
...常用设置6.1随心所欲之自定义背景与字体大小设置6.2开发必备之代码提示忽略大小写6.3开发必备之设置自动导包功能6.4开发必备之代码缩进及全局UTF-8设置七、快速编码之快捷键7.1基础技能之修改默认快捷键方式及自定义快捷键... 查看详情
hadoop应用实战100讲-hadoop常用命令汇总
前言以下是我为大家准备的几个精品专栏,喜欢的小伙伴可自行订阅,你的支持就是我不断更新的动力哟!MATLAB-30天带你从入门到精通MATLAB深入理解高级教程(附源码)tableau可视化数据分析高级教程一.HDFS命令行Hadoophelp命令的... 查看详情
linux12企业实战--51面试汇总(代码片段)
文章目录1、常用2、vpn3、系统4、网络5、mysql6、prometheus监控7、介绍8、k8s1、常用#pms床位管理系统#oa管理合同的系统#定时任务管理系统代码发布系统#mysql管理系统阿波罗配置中心#员工管理系统镜像拉取不下来DNS私有仓库网络tap键... 查看详情
linux12企业实战--51面试汇总(代码片段)
文章目录1、常用2、vpn3、系统4、网络5、mysql6、prometheus监控7、介绍8、k8s1、常用#pms床位管理系统#oa管理合同的系统#定时任务管理系统代码发布系统#mysql管理系统阿波罗配置中心#员工管理系统镜像拉取不下来DNS私有仓库网络tap键... 查看详情
mysql启动以及常用命令汇总
mysql57的启动常用命令:showdatabases : 展示所有数据库usedababase+数据库名 : 连接数据库showtables:展示库中所有表格 查看详情
linux企业运维人员必备150个命令汇总
命令功能说明 线上查询及帮助命令(2个)man查看命令帮助,命令的词典,更复杂的还有info,但不常用。help查看Linux内置命令的帮助,比如cd命令。 文件和目录操作命令(18个)ls全拼list,功能是列出目录的内容及其内容属性... 查看详情
2019-2021:测试实用干货精选汇总
...景:基于ELK实现性能测试业务模型及tps提取性能测试实战00、一篇文章告诉你怎么做性能测试01、jmeter5.1分布式压02、性能测试:jmeter中通过beanshell把关联转变成参数化03、如何面试性能测试04、性能测试常用术语解释05、... 查看详情
altiumdesigner18速成实战:汇总贴
...作第一部分:系统安装及综合设置AltiumDesigner18速成实战第一部分系统安装及综合设置(一)AltiumDesigner18的安装及XXAltiumDesigner18速成实战第一部分系统安装及综合设置(二) 查看详情
命令汇总
1、系统常用命令2、容器相关命令3、MySQL常用操作4、IDEA常用命令 查看详情
九mysql常用函数汇总(代码片段)
文章目录一、条件判断函数1.1IF(expr,v1,v2)函数1.2IFNULL(v1,v2)函数1.3CASE函数二、系统信息函数2.1获取MySQL版本号、连接数和数据库名的函数2.2获取用户名的函数2.3获取字符串的字符集和排序方式的函数2.4获取最后一个自动生成的ID值... 查看详情
26个开发者常用必备网站汇总推荐
本文给大家推荐一些程序员经常使用的网站,也是我经常上的一些网站。文章目录开源GithubGitee开源中国问答StackOverflowSegmentFaultV2EX博客&学习社区CSDN掘金博客园51CTO兼职接活程序员客栈码市威客猪八戒百科果壳网科普中国... 查看详情
十五python操作mysql数据库------非orm(代码片段)
...目录一、MySQL官方驱动模块---MySQLConnector1.1连接数据库1.2实战:SQL注入攻击案例1.3MySQLConnector的事务及异常处理1.4数据库连接池技术1.5MySQLConnector删除数据1.6MySQLConnector多条数据插入1.7案例练习1.7.1练习一1.7.2练习2二、PyMySQL操作... 查看详情
ubuntu常用命令汇总
(一)ubuntu基本命令一:1、帮助 --help简单的帮助 helpcommand较详细的帮助 mancommand最详细的帮助2、ls命令 ls-a显示全部的文件及文件夹,包括隐藏的文件或文件夹 ls-l显示较全的文件信息,... 查看详情
mysql常用语句(代码片段)
文章目录DDL:操作数据库、表DML:增删改表中数据DQL:查询表中的记录约束mysql登录mysql-uroot-p密码mysql-hip-uroot-p连接目标的密码mysql--host=ip--user=root--password=连接目标的密码MySQL退出exitquitDDL:操作数据库、表创建数据库createdatab... 查看详情
linux常用命令汇总(代码片段)
文章目录前言1.终极命令2.基础命令2.1C系2.2E系2.3F系2.4K系2.5M系2.6N系2.7P系2.8R系2.9T系2.10W系3.文件与文档4.压缩与解压5.系统设置与管理结束语前言 本篇文章主要汇总了项目开发过程中常用的linux命令,以便后续查询。1.终极... 查看详情