MySQL-快速入门(1)基本数据库、表操作语句
1、创建数据库
create database db_name;
show create database db_name\G; //查看数据创建语句
show databases; //查看当前创建的数据库
2、删除数据库
drop database db_name; //删除的数据库要存在
3、数据库存储引擎
MySQL可以针对每一张表使用不同的存储引擎。
mysql> show engines \G
*************************** 1. row ***************************
Engine: InnoDB
Support: DEFAULT
Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
XA: YES
Savepoints: YES
*************************** 2. row ***************************
Engine: MRG_MYISAM
Support: YES
Comment: Collection of identical MyISAM tables
Transactions: NO
XA: NO
Savepoints: NO
*************************** 3. row ***************************
Engine: MEMORY
Support: YES
Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
XA: NO
Savepoints: NO
*************************** 4. row ***************************
Engine: BLACKHOLE
Support: YES
Comment: /dev/null storage engine (anything you write to it disappears)
Transactions: NO
XA: NO
Savepoints: NO
*************************** 5. row ***************************
Engine: MyISAM
Support: YES
Comment: MyISAM storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 6. row ***************************
Engine: CSV
Support: YES
Comment: CSV storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 7. row ***************************
Engine: ARCHIVE
Support: YES
Comment: Archive storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 8. row ***************************
Engine: PERFORMANCE_SCHEMA
Support: YES
Comment: Performance Schema
Transactions: NO
XA: NO
Savepoints: NO
*************************** 9. row ***************************
Engine: FEDERATED
Support: NO
Comment: Federated MySQL storage engine
Transactions: NULL
XA: NULL
Savepoints: NULL
9 rows in set (0.00 sec) mysql>
InnoDB存储引擎:支持事务安全表(ACID,提交、回滚、崩溃恢复的事务安全)、行级锁、外键。
MyISAM存储引擎:较高的插入、查询速度,但不支持事务。
Memory存储引擎:将表中的数据存储到内存中。
存储引擎的比较:

4、数据库表操作
1》创建表:
create table <表名>
(
column1 datatype [列级约束] [默认值],
column1 datatype [列级约束] [默认值]
...
[表级约束]
);
2》主键约束:primary key 或者 [constraint <约束名>] primary key [字段名]
单字段主键:primary ley(column1)
多字段主键:primary key(column1,column2,...)
3》外键约束:
外键可以为空值,如果不为空值,则该值必须等于被参照表某记录某字段(或者某些字段的组合)的值。
[constraint <外键名>] foreign key column1[,column2,column3,...] references <主表名> 主键列1[,主键列2,...]
4》非空约束:not null
5》唯一约束:unique。可以有空值。unique(column1)或者[constraint <约束名>] unique(column1,column2,...)
6》默认值:default。
7》设置表的属性值自动增加:auto_increment。一个表只能有一个字段使用该约束,且该字段必须为主键的一部分。约束的字段可以是任何整数类型(tinyint,smallin,int,bigint)。
5、查看表结构:describe / desc、show create table
1》describe / desc:
mysql> desc test;
+--------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+----------------+
| id | int(10) | NO | PRI | NULL | auto_increment |
| name | varchar(25) | NO | | NULL | |
| deptId | int(11) | YES | | NULL | |
| salary | float | YES | | NULL | |
+--------+-------------+------+-----+---------+----------------+
4 rows in set (0.01 sec) mysql> describe test;
+--------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+----------------+
| id | int(10) | NO | PRI | NULL | auto_increment |
| name | varchar(25) | NO | | NULL | |
| deptId | int(11) | YES | | NULL | |
| salary | float | YES | | NULL | |
+--------+-------------+------+-----+---------+----------------+
4 rows in set (0.00 sec) mysql>
2》show create table:查看表详细结构语句,包括存储引擎、字符编码等信息。
show create table <表名 \G>;
“\G”是为了显示更美观。
6、删数据表
1》删除没有关联的表:可以一次删除一个或者多个没有被其他表关联的表
drop table [if exists]表1,表2,...表n;
2》删除被其他表关联的主表:一般直接删除主表会失败。如果只需要删除主表,而从表需要保留,可以先删除从表的外键约束,然后再删除主表;级联删除。
7、改数据表
常用的操作:修改表名、修改字段数据类型或字段名、增加和删除字段、修改字段的排列位置、更改表的存储引擎、删除表的外键约束等。
1》修改表名:
alter table <旧表名> rename [to] <新表名>;
2》修改字段名、字段数据类型:
alter table <表名> change <旧字段名> <新字段名> <字段数据类型>;
alter table <表名> modify <字段名> <新数据类型>; //或者alter table <表名> change <旧字段名> <旧字段名> <新字段数据类型>;
3》添加字段
alter table <表名> add <新字段名> <数据类型> [约束条件] [first|after [已存在的字段名]];
4》删除字段
alter table <表名> drop <字段名>;
5》修改字段的排列位置:first指定字段作为表的第一个字段,after指定字段在“字段2”后面。
alter table <表名> modify <字段1> <数据类型> first|after <字段2>;
6》更改表的存储引擎(MySQL特有的):
alter table <表名> engine=<更改后的存储引擎名>;
7》删除表的外键约束:
alter table <表名> drop foreign key <外键约束名>
8、总结
1》外键约束不能夸引擎使用,即主表与从表应该使用相同的存储引擎。
MySQL-快速入门(1)基本数据库、表操作语句的更多相关文章
- MySQL数据库(2)_MySQL数据库和数据库表操作语句
一.关于数据库操作的sql语句 -- .创建数据库(在磁盘上创建一个对应的文件夹) create database [if not exists] db_name [character set xxx ...
- mysql cmd命令行 创建数据库 表 基础语句
一.连接MYSQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1. 连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u roo ...
- Database学习 - mysql 数据库 表操作
mysql 数据库 表操作 创建数据表 基本语法格式: 创建数据表: create table 表名( 字段名 datatype 约束, 字段名 datatype 约束, ...... ) 修改表名 ...
- MySql基础笔记(一)Mysql快速入门
Mysql快速入门 一)基本概念 1)表 行被称为记录,是组织数据的单位.列被称为字段,每一列表示记录的一个属性. 2)主键 主键用于唯一的标识表中的每一条记录.可以定义表中的一列或者多列为主键, 但 ...
- MySQL 快速入门教程
转:MySQL快速 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数据 ...
- MySQL 快速入门(一)
目录 MySQL快速入门 简介 存储数据的演变过程 数据库分类 概念介绍 MySQL安装 MySQL命令初始 环境变量配置 MySQL环境变量配置 修改配置文件 设置新密码 忘记密码的情况 基本sql ...
- MySQL快速入门(二)
目录 MySQL快速入门(二) 约束条件 自增 自增的特性 主键 外键 级联更新/删除 表与表之间的关系 外键约束 操作表方法 查询关键字 练习数据 select··from where 筛选 gro ...
- mysql基础之mariadb库管理和表管理语句
一.数据库管理语句 1.Syntax: CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification] ... cr ...
- 在线数据库表(sql语句)生成java实体类工具
相信每个做java开发的读者,都接触过SQL建表语句,尤其是在项目开发初期,因为数据库是项目的基石. 在现代项目开发中,出现了许多ORM框架,通过简单的实体映射,即可实现与数据库的交互,然而我们最初设 ...
随机推荐
- mysql<七>
-- ########## 01.集合逻辑 ########## -- MySQL中,只实现了一种集合逻辑:逻辑与,有两种用法:UNION 和 UNION ALL -- 临时表1 CREATE TAB ...
- react保存用户的输入换行,空格等等
<div dangerouslySetInnerHTML = {{ __html: '接口返回值' }} />
- 【NOIP2014模拟11.3】噪音
题目 FJ有M个牛棚,编号1至M,刚开始所有牛棚都是空的.FJ有N头牛,编号1至N,这N头牛按照编号从小到大依次排队走进牛棚,每一天只有一头奶牛走进牛棚.第i头奶牛选择走进第p[i]个牛棚.由于奶牛是 ...
- java——hasCode是如何对应到数组索引的?为什么HashMap的initailCapacity要设置成2的n次幂?为什么要树化hashMap?
一: 源代码是这样实现的: static final int hash(Object var0) { int var1; return var0 == null ? 0 : (var1 = var0. ...
- httpClient和RestTemplate的使用
1.httpClient的使用 <dependency> <groupId>org.apache.httpcomponents</groupId> <arti ...
- Codeforces Round #303 (Div. 2) E. Paths and Trees Dijkstra堆优化+贪心(!!!)
E. Paths and Trees time limit per test 3 seconds memory limit per test 256 megabytes input standard ...
- Sparrow 开发板化身电脑音量调节器
前言 原创文章,转载引用务必注明链接,水平有限,如有疏漏,欢迎指正. 之前的新浪不能用啦,这次部分图片用的sm.ms的图床,加载慢,请耐心,准备换图床. 1.开箱简介 来填坑了!这次是 Sparrow ...
- springboot集成fastjson
@Configuration @EnableWebMvc public class WebMvcConfigurer extends WebMvcConfigurerAdapter { /** * f ...
- 【转】毛虫算法——尺取法
转自http://www.myexception.cn/program/1839999.html 妹子满分~~~~ 毛毛虫算法--尺取法 有这么一类问题,需要在给的一组数据中找到不大于某一个上限的&q ...
- 【HTTP/FTP客户端库】
[HTTP/FTP客户端库]资料来源:http://curl.haxx.se/libcurl/competitors.html Free Software and Open Source projec ...