Mysql数据库和表的操作
Mysql数据库和表的操作
本文转自:Java干活铺子
库的管理
创建数据库
create database [if not exists] 库名;
删除数据库
drop databases [if exists] 库名;
通用写法
drop databases if exists 旧数据库;
create databases 新数据库
表的管理
创建表
create table 表名(字段名1 类型[(宽度)] [约束条件] [comment '字段说明'],字段名2 类型[(宽度)] [约束条件] [comment '字段说明'],字段名3 类型[(宽度)] [约束条件] [comment '字段说明']
)[表的一些设置];
修改表
修改表名
alter table 表名 rename 新表名;
复制表的结构
create table 表名 like 被复制的表名;
复制表的结构和表中的数据
create table 表名 [as] select 字段,... from 被复制的表 [where 条件]; create table test13 as select * from test11;
修改表中字段
# 添加列 alter table 表名 add column 列名 类型 [列约束];# 修改列(2种方式区别:modify不能修改列名,change可以修改列名) alter table 表名 modify column 列名 新类型 [约束]; 或者 alter table 表名 change column 列名 新列名 新类型 [约束];# 删除列 alter table 表名 drop column 列名;
表中的约束条件
not null:标识该字段不能为空
mysql> create table test1(a int not null comment '字段a'); Query OK, 0 rows affected (0.01 sec)
default value:为该字段设置默认值,默认值为value
mysql> create table test2(-> a int not null comment '字段a',-> b int not null default 0 comment '字段b'-> );
primary key:标识该字段为该表的主键,可以唯一的标识记录,插入重复的会报错
# 方式一 mysql> drop table IF EXISTS test3; Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> create table test3(-> a int not null comment '字段a' primary key-> ); Query OK, 0 rows affected (0.01 sec)mysql> insert into test3 (a) values (1); Query OK, 1 row affected (0.01 sec)mysql> insert into test3 (a) values (1); ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'# 方式二 mysql> drop table IF EXISTS test4; Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> create table test4(-> a int not null comment '字段a',-> b int not null default 0 comment '字段b',-> primary key(a)-> ); Query OK, 0 rows affected (0.02 sec)mysql> insert into test4(a,b) values (1,1); Query OK, 1 row affected (0.00 sec)mysql> insert into test4(a,b) values (1,2); ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'
foreign key:为表中的字段设置外键
mysql> drop table IF EXISTS test6; Query OK, 0 rows affected (0.01 sec)mysql> drop table IF EXISTS test5; Query OK, 0 rows affected (0.01 sec)mysql> mysql> create table test5(-> a int not null comment '字段a' primary key-> ); Query OK, 0 rows affected (0.02 sec)mysql> mysql> create table test6(-> b int not null comment '字段b',-> ts5_a int not null,-> foreign key(ts5_a) references test5(a)-> ); Query OK, 0 rows affected (0.01 sec)mysql> insert into test5 (a) values (1); Query OK, 1 row affected (0.00 sec)mysql> insert into test6 (b,test6.ts5_a) values (1,1); Query OK, 1 row affected (0.00 sec)
auto_increment:标识该字段的值自动增长(整数类型,而且为主键)
mysql> drop table IF EXISTS test11; Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> mysql> create table test11(-> a int not null AUTO_INCREMENT PRIMARY KEY comment '字段a',-> b int not null comment '字段b'-> ); Query OK, 0 rows affected (0.01 sec)mysql> mysql> insert into test11(b) VALUES (10); Query OK, 1 row affected (0.00 sec)mysql> insert into test11(b) VALUES (20); Query OK, 1 row affected (0.00 sec)mysql> select * from test11; +---+----+ | a | b | +---+----+ | 1 | 10 | | 2 | 20 | +---+----+ 2 rows in set (0.00 sec)
注意:自增长列当前值存储在内存中,数据库每次重启之后,会查询当前表中自增列的最大值作为当前值,如果表数据被清空之后,数据库重启了,自增列的值将从初始值开始
Mysql数据库和表的操作相关推荐
- Mysql数据库大表归档操作
由于公司的某个系统数据表过亿,考虑到数据表的压力.所以根据某个时间点对数据表做了一个归档.以下的操作是在当前的数据库新建表用于存储历史数据,然后再对生产表做一个清理操作.如果有条件的话可以把归档的数据 ...
- Ubuntu Mysql 数据库和表的操作 [2P]
1.在终端启动:mysql -uroot -p密码 然后回车: 2.查看数据库的名字:SHOW DATABASES;: 3.选择一个数据库:USE test_STinfo;:(今天总是SELECT,惭 ...
- R操作MySQL数据库创建表、删除表、增删改查(CRUD)
R操作MySQL数据库创建表.删除表.增删改查(CRUD) 关系数据中的数据是按照一定范式去存储的.当我们需要非常高级和复杂的Sql查询就可以使用关系数据库的数据资产.不光java和python可以容 ...
- mysql 横纵表转化_数据库MySQL横纵表相互转化操作实现方法
本文实例讲述了MySQL横纵表相互转化操作实现方法.分享给大家供大家参考,具体如下: 先创建一个成绩表(纵表) create table user_score ( name varchar(20), ...
- MySQL数据库(表的CRUD基础操作(最常用))
作者:渴望力量的土狗 博客主页:渴望力量的土狗的博客主页 专栏:MySQL数据库 工欲善其事必先利其器,给大家介绍一款超牛的斩获大厂offer利器--牛客网 点击免费注册和我一起刷题吧 目录 理解CR ...
- MySQL数据库和表名大小写敏感开关的打开办法
背景:window 10系统安装了MySQL57,使用可视化操作工具Navicat Premium 12进行相关操作,一切比较顺利.但在建立数据库和表时,发现大小写命名不敏感.区分大小写输入,保存后默 ...
- MySQL 数据库 User表权限以及用户授权详解
转载:https://blog.mimvp.com/article/27956.html MySQL 常用权限操作 1)本机登陆mysql: mysql -u root -p (-p一定要有):改变数 ...
- mysql 外键查询_mysql 外键查询(mysql数据库多表联查)
mysql 外键查询(mysql数据库多表联查) 2020-07-24 11:51:00 共10个回答 查看方式主要是通过第三方工具或者是sql语句,主要有以下三种方式1:使用Navicateform ...
- MySQL数据库实验二 MySQL数据库和表
一.实验项目: MySQL数据库和表. 二.实验目的 1.掌握MySQL数据库的创建.修改.删除和查看. 2.掌握表的创建.修改.删除和查看. 3.掌握表中记录的插入.修改和删除操作. 4.掌握完整性 ...
- MySQL数据库配置及高级操作
MySQL数据库配置及高级操作 1 环境配置 1.1 MySQL安装与卸载 1.2 SQLyog安装 1.3 SQL简介 2 基本操作 2.1 DDL*(Data Definition Languag ...
最新文章
- 螃蟹学PHP设计模式之解释器模式
- git连接jenkins_基于 Jenkins 和 Kubernetes 的持续集成测试实践了解一下!
- 【一天一个shell命令】【cut】
- 内网通免广告_3D打印进军广告发光字领域,成为名副其实的智能打印工厂
- 数据库技术基础:查询优化相关知识笔记
- Java实验二猜数字游戏,JAVA-第2周实验-猜数字游戏
- Centos7 -bash: ifconfig : command not found
- sublime快捷键设置
- 【原创】SSAS-引用维度与多数据源、多数据源视图引发分区错误
- 阿里云云计算 15 在线实验--OSS的使用
- linux自动ping脚本,linux 自动ping ip的shell脚本
- 罗马音平假名中文可复制_200个中文常见姓氏的日语发音,再也不愁起日文名字啦!...
- 使用python对图片进行压缩
- 禁止ios版本上拉回弹效果
- stm32设置延时函数
- postgresql 修改id的自增起始数
- 记录DBeaver报SQL 错误 [1064] [42000]: #42000的一个坑
- Public Key Infrastructure
- matlab costas环,基于Matlab的Costas环仿真设计
- [生存志] 第102节 屈原既放赋离骚
热门文章
- 利率模型暗示美国股市是合理价值(仅做参考)
- 2019年宁波高职技能考计算机,2019年宁波职业技术学院高职提前招生考试综合素质测试大纲...
- java中跑批指的是什么_DB2几个问题的处理(三)
- android桌面adw,ADW Launcher
- ML for trading -cs7646-02
- 解决XCode 11 build error 编译错误 image not found
- 正态分布下贝叶斯决策的特例(三)
- 鸿蒙手机开发者活动,华为 12 月16 日举行鸿蒙 2.0 手机开发者 Beta 活动
- java8中class怎么用_如何在Java中使用Class T?
- 使用折半查找法查找数组中的元素