sql devalop连接mysql_SQL-Mysql表结构操作

一 前言

本篇内容是关于 基本的数据库操作,建表,表结构修改等内容;

学习本篇的基础是知识追寻者以前发布的文章:

公众号:知识追寻者

知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;)

二 SQL 分类操作

2.1 SQL 分类

sql 对数据库的操作分为如下三种类型,如果都学会这三种SQL语言熟练对数据库操作,说明你已经对数据库登堂入室,如果再学会数据库高级操作,说明你对数据库就有一定的使用经验,如果你还学会对数据库进行优化,分表分库,读写分离等操作,说明你使用数据库已经到专家级别;

DDL:数据定义语言(Data Define Language),即定义数据的结构。比如:create,drop,alter操作

DML:数据管理语言(Data Manage Language),即增删改查。比如:insert,delete,update,select。这个也在之前的文章详细写过,不再提及;

DCL:数据控制语言(Data Control Language),对权限、事务等的控制。比如:grant(授权)revoke(取回权限),commit,roolback等; 事物在上篇已经说明,不会在本篇提及;

2.2 数据库基操

数据库的基本操作如下,也就是我们日常使用的操作

连接数据库: mysql -h 地址 -P 端口 -u 用户名 -p 密码;

mysql -h 192.168.0.127 -P 3306 -u root -p root

查看当前数据库:

SELECT DATABASE();

显示用户活动线程:

SHOW PROCESSLIST;

显示系统变量:

SHOW VARIABLES;

显示当前时间,用户,数据库版本号

SELECT now(), user(), version();

创建数据库:CREATE DATABASE[ IF NOT EXISTS] 数据库名 [数据库选项]

数据库选项:

CHARACTER SET 字符集名称

COLLATE 排序规则名称

示例:create database zszxz;

删除数据库: DROP DATABASE [ IF EXISTS] 数据库名;

drop database zszxz;

2.3 建表语句

数据库表的日常操作如下

CREATE [TEMPORARY] TABLE[ IF NOT EXISTS] [库名.]表名 ( 表的结构定义 ) [ 表选项]

其中 TEMPORARY 表示临时表;中括号内容都表示可选,在正规的数据库版本管理开发会经常使用到;

字段的修饰如下 数据类型

非空|空约束:[NOT NULL | NULL]

默认值:[DEFAULT default_value]

自动增长:[AUTO_INCREMENT]

唯一键|主键:[UNIQUE [KEY] | [PRIMARY] KEY]

备注:[COMMENT 'string']

表选项一般就是指定数据库引擎和字符集:

ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='顾客表';

示例

CREATE TABLE IF NOT EXISTS `customer` (

`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',

`customer_name` varchar(255) DEFAULT NULL COMMENT '顾客名称',

`gender` varchar(255) DEFAULT NULL COMMENT '性别',

`telephone` varchar(255) DEFAULT NULL COMMENT '电话号码',

`register_time` timestamp NULL DEFAULT NULL COMMENT '注册时间',

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='顾客表';

2.4 修改表结构

查看所有表

SHOW TABLES

查看指定数据库的表

SHOW TABLES FROM 数据库名称;

示例:SHOW TABLES FROM zszxz;

删除表

DROP TABLE[ IF EXISTS] 表名;

示例: drop table op;

清空表(清除数据)

TRUNCATE [TABLE] 表名

复制表结构

CREATE TABLE 表名 LIKE 要复制的表名;

示例: create table op like `order`;

复制表结构和数据

CREATE TABLE 表名 [AS] SELECT * FROM 要复制的表名;

示例: CREATE TABLE op AS SELECT * FROM `order`;

常见的alter操作如下:

增加一列(追加至末尾)

alter table [数据库名.]表名 add [column] 字段 数据类型;

示例: alter table `order` add column `year` year ;

增加到第一列

alter table [数据库名.]表名 add [column] 字段 数据类型 first;

增加一列到指定字段名后

alter table [数据库名.]表名 add [column] 字段 数据类型 after 另一个字段;

修改字段名的 数据类型

alter table [数据库名.]表名称 modify [column] 字段名 新的数据类型;

示例: altert table `order` modify column `gender` tinyint;

修改表字段的数据类型,并且移动至第一列

alter table [数据库名.]表名称 modify [column] 字段名 数据类型 first;

修改表字段的数据类型,并且移动至指定字段后面

alter table [数据库名.]表名称 modify [column] 字段名 数据类型 after 另一个字段名;

修改表字段的名称

alter table [数据库名.]表名称 change [column] 旧字段名 新的字段名 数据类型;

添加主键

alter table [数据库名.]表名称 ADD PRIMARY KEY(字段名);

示例: altert table `order` add primary key(`id`)

添加唯一键

alter table [数据库名.]表名称 ADD UNIQUE [索引名] (字段名)

添加索引

alter table [数据库名.]表名称 ADD INDEX [索引名] (字段名)

删除一列

alter table [数据库名.]表名称 drop [column] 字段名;

示例:altert table `order` drop column `gender`;

删除索引

alter table [数据库名.]表名称 DROP INDEX 索引名

删除主键

alter table [数据库名.]表名称 DROP PRIMARY KEY

删除外键

alter table [数据库名.]表名称 DROP FOREIGN KEY 外键

关注知识追寻者:

db60a49ebe5d13c6f6d9f2cae18e8d1f.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/525695.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云计算平台2017年盘点——真正成为新技术新应用的基础架构

作者简介:吴凯,北京云途腾科技有限责任公司首席运营官,具有20年的IT和软件服务行业管理经验,历任多家著名外资及民营IT企业的核心高级管理职位,是中国云计算专家委员会专家委员,中国开源云联盟及云计算开源…

oracle表复制为mysql表_oracle 将数据库的表复制到另一个数据库表内

将数据库A中的表sys_role复制到数据库B中在数据库b中的SQL工作表写如下代码:第一步:建立链接CREATE database link A //数据库名称CONNECT to text //用户名IDENTIFIED by "123456" //密码using (DESCRIPTION(ADDRESS (PROTOCOL TCP)(HO…

php mysql增修删_PHP mysql PDO增、删、查、改

1 建立连接<?php $dbhnewPDO(mysql:hostlocalhost;port3306; dbnametest,$user,$pass,array(PDO::ATTR_PERSISTENT>true));?>持久性链接PDO::ATTR_PERSISTENT>true2. 捕捉错误<?php try{$dbhnewPDO(mysql:hostlocalhost;dbnametest,$user,$pass);$dbh->se…

Spark SQL在100TB上的自适应执行实践

作者&#xff1a;汪愈舟 俞育才 郭晨钊 程浩&#xff08;英特尔&#xff09;&#xff0c;李元健&#xff08;百度&#xff09;责编&#xff1a;钱曙光&#xff08;qianshgcsdn.net&#xff09;Spark SQL是Apache Spark最广泛使用的一个组件&#xff0c;它提供了非常友好的…

中国大学慕课python答案第七章_中国大学慕课用Python玩转数据章节测试答案

[名词解释] 离子泵ionpump[名词解释] 主要吸收[养分] active uptake [ nutrient][名词解释] 质流[养分] mass flow [ nutrition][名词解释] 离子载体 ionophor[名词解释] 相对蒸腾[名词解释] 肥料最大效率期 maximum efficiency stage of fertilization[名词解释] 短距离运输 s…

分包组包 北斗通信_蓝牙mesh底层传输层(分包和组包)

当传输大于15字节的上层传输层PDU时&#xff0c;底层传输层就需要对上层传输层PDU进行分包并重新组包为了减少底层传输层包的数量&#xff0c;这里使用块应答机制。问题&#xff1a;怎么通过块应答机制减少底层传输层包的数量&#xff1f;上层传输层需要分成两个底层传输层PDU的…

别人在忙挖矿,京东架构师却悄悄用区块链搞了件大事

作者介绍&#xff1a; 赵铭&#xff0c;京东商城区块链研发工程师&#xff0c; 主要从事区块链底层研究设计工作&#xff0c;主攻方向为分布式账本结构&#xff1b; 孙海波&#xff0c;目前担任京东Y事业部供应链研发负责人&#xff0c;负责的业务包括订单履约、库存优化、采购…

用sklearn mysql_Sklearn之Linear Regression

import matplotlib.pyplot as pltimport numpy as npfrom sklearn import datasets, linear_modelfrom sklearn.metrics import mean_squared_error, r2_score# 加载糖尿病数据集diabetes datasets.load_diabetes()# 只使用一个特征diabetes_X diabetes.data[:, np.newaxis, …

mysql从服务器配置_mysql主从服务器配置基础教程

环境&#xff1a;A、B的MySQL数据库版本同为5.0.45-community-ntA&#xff1a;操作系统&#xff1a;Windows xpIP地址&#xff1a;192.168.18.110B&#xff1a;操作系统&#xff1a;Windows xp的IP地址&#xff1a;192.168.18.107配置过程&#xff1a;1、在A的数据库中建立一个…

2017年30个惊艳的Python开源项目

【摘要】本文来自Mybridge&#xff0c;介绍了过去一年里30个惊艳的Python开源项目。点击阅读原文每一个都可以在GitHub上看到更为详细的内容。以下是译文。在过去的一年里&#xff0c;Mybridge AI 比较了近15000个开源Python项目&#xff0c;选择了前30名&#xff08;概率只有0…

mycloud php5 mysql_mycloud 刷debian乐趣之-owncloud 私有云+芒果云的安装

既然刷了debian了&#xff0c;那么就可以安装很多软件了。这篇文章&#xff0c;我打算讲讲大众化的最初始的配置方案。具体后续优化&#xff0c;例如memcached,https等&#xff0c;可以参考官方文档。第一步、安装apache,#当然&#xff0c;你如果喜欢nginx&#xff0c;也可以的…

java 错误 代码_Java错误代码及异常处理

现在有个项目&#xff0c;遇到错误代码和异常处理方面的问题&#xff0c;请教各位高手。背景&#xff1a;项目对外提供服务&#xff0c;这些服务是对很多外部系统提供服务的封装&#xff0c;每个外部系统有自己的错误代码&#xff0c;没有统一的规范。有些外部系统自己规范都不…

关于区块链,程序员需要了解什么

作者 | 曹严明如果说比特币是对传统货币的一种颠覆&#xff0c;那么比特币的基础技术——区块链则是对传统编程范式的一种颠覆。区块链技术被看作是一次Paradigm Shift。也许很多人对 “颠覆”这种说法不以为然&#xff0c;因为现在这个词已经被用滥了&#xff08;如今哪个好一…

java两个矩阵相乘_java计算两个n阶矩阵相乘

自己是个新手&#xff0c;研究java数据结构&#xff0c;看到两个n阶矩阵相乘的题目&#xff0c;自己就试着写了一个简单的demo&#xff0c;哪里有不好的地方&#xff0c;也希望大家多提提意见&#xff0c;直接上代码了&#xff1a;package com.shujujiegou01;public class JuZh…

java annotation list_java-注解annotation

package cd.itcast.day2;import java.lang.reflect.Method;import java.util.ArrayList;import java.util.Arrays;import java.util.Date;import java.util.List;/*** 注解** 注解的使用构成&#xff1a; 1&#xff0c;注解的申明 2&#xff0c;在类型(代码)上面打上注解 3&…

java 关联表做修改_java-图关联列表实现

我知道我也许正在从死里复生一个老问题,但是我觉得应该发表评论.您可以创建关联列表图形结构,也可以针对图进行调整.考虑LinkedList< Vertex>.对象和LinkedList< Edge>.宾语.这将使您可以遍历所有边缘和所有顶点,但不包含有关所有对象如何连接的信息.假设我们添加了…

JavaApp自动化测试系列[v1.0.0][几种常见APP类型测试代码实例附源码]

通常APP分为&#xff1a;原生APP、WebApp、混合型APP&#xff0c;其自动化测试代码稍有不同 Java结合TestNG单元测试框架&#xff0c;实现移动端IOS_WebApp测试【源码】 /** FileName Test_iOS_WebApp:* author davieyang* create 2018-11-22 14:20*/ package testscript; imp…

混合云异军突起 英特尔的全“芯”体验为企业保驾护航

近几年&#xff0c;混合云在IT界异军突起&#xff0c;各大厂商纷纷布局混合云市场&#xff0c;企业更愿意将数据存放在私有云中&#xff0c;但是同时又希望可以获得公有云的计算资源&#xff0c;在这种情况下混合云被越来越多的采用&#xff0c;它将公有云和私有云进行混合和匹…

python 常用模块函数_python函数和常用模块(三),Day5

递归反射os模块sys模块hashlib加密模块正则表达式反射python中的反射功能是由以下四个内置函数提供&#xff1a;hasattr、getattr、setattr、delattr&#xff0c;改四个函数分别用于对对象内部执行&#xff1a;检查是否含有某成员、获取成员、设置成员、删除成员。class Foo(ob…

搭建java_搭建JAVA环境

1 jdk的获取jdk的获取路径有很多这种&#xff0c;我把我网盘上存的分享个大家&#xff0c;大家直接下载就可以了。http://pan.baidu.com/s/1pLsJLtp(这是一个公开链接&#xff0c;直接打开下载就可以了)。2 jdk的安装(1)单击刚刚下载的安装文件将会弹出欢迎对话框。(2)点击“下…