MySQL数据定义语句

MySQL数据定义语句主要是创建、修改、删除表,增加,修改,删除字段的操作

创建表:
CREATE TABLE 表名(属性名 数据类型 约束条件,
属性名 数据类型 约束条件,
属性名 数据类型 约束条件,
属性名 数据类型 ,
);

完整约束条件:
PRIMARY KEY 主键
FOREIGN KEY 外键
NOT NULL 非空
UNIQUE 唯一键
AUTO_INCREMENT 自增键(mysql特色)
DEFAULT 设置默认值

1、创建表test1

mysql> create table test1(id int not null primary key,
-> name varchar(20) not null);
Query OK, 0 rows affected (0.00 sec)
mysql> desc test1;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(20) | NO | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

2、设置多字段主键

mysql> create table test2(id int not null,
-> name int not null,
-> primary key(id,name));
Query OK, 0 rows affected (0.00 sec)

mysql> desc test2;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | int(11) | NO | PRI | NULL | |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)

3、设置外键

mysql> create table test4(id int primary key,
-> name int not null,
-> constraint fk foreign key(id,name)
-> references test3(id,name));
Query OK, 0 rows affected (0.00 sec)

4、查看表结构

mysql> desc test4;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | int(11) | NO | | NULL | |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.01 sec)

5、查看表详细语法

mysql> show create table test4\G
*************************** 1. row ***************************
Table: test4
Create Table: CREATE TABLE `test4` (
`id` int(11) NOT NULL,
`name` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `fk` (`id`,`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

6、修改表名

mysql> alter table test4 rename test004;
Query OK, 0 rows affected (0.00 sec)

7、修改字段数据类型

mysql> alter table test1 modify name varchar(30);
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0

8、修改字段名

mysql> alter table test1 change name mingzi varchar(20);
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0

9、增加字段

mysql> alter table test1 add address varchar(60);
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0

10、将增加字段放在首位

mysql> alter table test1 add user int first;
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0

11、将增加字段放在指定位置

mysql> alter table test1 add home int after id;
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0

12、删除字段

mysql> alter table test1 drop mingzi;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0

13、修改字段位置

mysql> alter table test1 modify address varchar(20) after id;
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0

13、修改表引擎

mysql> alter table test1 engine=‘innodb‘;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0

14、删除外键

mysql> alter table test004 drop foreign key fk;
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0

15、删除表

mysql> drop table test004;
Query OK, 0 rows affected (0.00 sec)

16、创建数据库

mysql> create database test1;
Query OK, 1 row affected (0.00 sec)

参考书籍:《MySQL入门很简单》

时间: 2024-10-13 23:08:48

MySQL数据定义语句的相关文章

mysql快速上手之DDL数据定义语句

SQL分类 DDL语句:数据定义语句,定义了不同的数据段.数据库.表.列.索引等数据库对象的定义.(create.drop.alter等) DML语句:数据操纵语句,用于增删改查的操作,并检查数据完整性. DCL语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句,这些语句定义了数据库.表.字段.用户的访问级别和安全级别.(grant.revoke等) DDL语句 数据库的操作 创建数据库 create database 数据库名 charset=utf8; 查看存在哪些数据库 sh

SQL DDL 数据定义语句

前言 DDL(Data Definition Language)语句:数据定义语句,这些语句定义了不同的数据段.数据库.表.列.索引等数据库对象.常用的语句关键字主要包括 create.drop.alter 等. 1.DDL 数据库操作语句 1)创建数据库语句 # 创建数据库,数据使用默认编码方式 utf8mb4 # create database 数据库名; > create database test; Query OK, 1 row affected (0.04 sec) # 创建数据库,

Mysql 数据查询语句中between and 是包含边界值的

MySQL的sql语句中可以使用between来限定一个数据的范围,例如: select * from user where userId between 5 and 7; 查询userId为5.6,7的user,userId范围是包含边界值的,也等同如下查询: select * from user where userId >= 5 and userId <= 7; 很多地方都提到between是给定的范围是大于等第一值,小于第二个值,其实这是不对的.此前我一直也是这么认为,通过实验,结论是

MySQL数据备份语句

1.逻辑备份 mysqldump -h127.0.0.1 -uroot -p -P3307 --single-transaction --all-databases > mysql.dump 2.二级制日志备份 mysqlbinlog --no-defaults --start-datetime="2015-09-06 16:00:00" --stop-datetime="2015-09-06 16:10:00" /data0/mysql/binlogs/my

3-2数据定义

3-2数据定义 tags:数据库 关系数据库系统支持三级模式结构,其模式.外模式和内模式中单基本对象幽默师表,视图和索引等.因此SQL的数据定义功能包括,模式定义,表定义,视图和索引定义. 操作对象 创建 删除 修改 模式 create schema drop schema 表 create table drop table alter table 视图 create view drop view 索引 create index drop index alter 架构(模式schema) 为避免

SQL——数据定义

SQL--数据定义 SQL数据定义功能:定义各种数据库的"对象" 模式定义 表定义 视图定义 索引定义 数据字典 数据查字典是关系数据库管理系统内部的一组系统表,它记录了数据库中所有的对象的定义信息以及一些统计信息: 关系模式.表.视图.索引的定义 完整性约束的定义 分类用户对数据库的操作权限 统计信息 关系数据库管理系统在执行SQL的数据定义语句时,实际上就是在更新数据字典表中的相应信息. 数据定义 1.模式定义 [例题]为用户WANG定义一个学生-课程模式S-T ? 解: CREA

MySQL语句测试——数据定义

MySQL语句测试--数据定义 一.模式 /*1.模式的删除操作*/ drop schema zyl; /*后面加cascade或restrict报错*/ /*2.模式的创建操作*/ create schema zyl; /*后面加authorizaition报错*/ 二.表格 /*1.表格的创建操作*/ /*(1)创建表格方式一: 单独create schema之后,双击左边的schema至加粗状态,再create table */ create table Student( Sno char

mysql学习一 DDL(数据定义语言)

一.mysql的具体安装这里就不多说了,网上有很多.大家可以在网上找找,有安装版本和压缩版本. 二.验证数据库是否安装成功: 在dos的命令行下面输入:mysql -u root -p(默认的是直接回车就可以了,如果你没有设置密码) 如果你设置了密码就得输入密码 就会登录上mysql,有mysql的提示信息. 三.DDL:数据定义语言 简述:什么是DDL呢?Data Definition Language(数据定义语言):我们知道是什么了,接下来应该了解它有什么作用吧?我想我们学习很多东西的时候

mysql 数据类型和sql语句

sql:被称为结构化查询语言 其内部被分为: DML语句:数据操作语言,用于增(insert),删(delete),查(select),改(update) DDL语句:数据定义语言,用于实现数据存储,create,drop,alter DCL语句:数据控制语言,一般用于权限控制.grant,revoke,commit, rollback mysql发行版分为商业版(enterprise 收费),社区版(community  是免费版本) 官网:www.mysql.com mysql 是c/s 架