数据表的基本操作与表的约束

1、创建数据表
mysql> CREATE TABLE tb_grade
-> (
-> id INT(20),
-> name CHAR(20),
-> grade FLOAT
-> )
-> ;
Query OK, 0 rows affected

为了验证数据表是否创建成功,需要使用SHOW TABLES语句进行查看
mysql> SHOW TABLES;
+------------------+
| Tables_in_itcast |
+------------------+
| tb_grade |
+------------------+
1 row in set

2、使用SHOW CREATE TABLE查看数据表(查看数据表的方法一)mysql> SHOW CREATE TABLE tb_grade;
+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| tb_grade | CREATE TABLE `tb_grade` (
`id` int(11) DEFAULT NULL,
`name` varchar(20) DEFAULT NULL,
`grade` float DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=gbk |
+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set

使用DESCRIBE语句查看数据表(方法二)(可以缩写为DESC)
mysql> DESCRIBE tb_grade;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| grade | float | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
3 rows in set

NULL:表示该列是否可以存储NULL值。
Key:表示该列是否已经编制索引。
Default:表示该列是否有默认值。
Extra:表示获取到的与给定列相关的附加信息。

3、修改表名(ALTER TABLE 旧表名 RENAME [TO] 新表名;)
mysql> ALTER TABLE tb_grade RENAME TO grade;
Query OK, 0 rows affected

为了检测表名是否修改正确,再次使用SHOW TABLES语句查看数据库中的所有表
mysql> SHOW TABLES;
+------------------+
| Tables_in_itcast |
+------------------+
| grade |
+------------------+
1 row in set

4、修改字段名(ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;)mysql> ALTER TABLE grade CHANGE name username VARCHAR(20);
Query OK, 0 rows affected
Records: 0 Duplicates: 0 Warnings: 0

查看后:
mysql> DESC grade;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| username | varchar(20) | YES | | NULL | |
| grade | float | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
3 rows in set

5、修改字段的数据类型(ALTER TABLE 表名 MODIFY 字段名 数据类型;
)mysql> ALTER TABLE grade MODIFY id INT(20);
Query OK, 0 rows affected
Records: 0 Duplicates: 0 Warnings: 0

6、添加字段(ALTER TABLE 表名 ADD新字段名 数据类型
[约束条件][FIRST|AFTER 已存在字段名]

mysql> ALTER TABLE grade ADD age INT(10);
Query OK, 0 rows affected
Records: 0 Duplicates: 0 Warnings: 0

查看后:
mysql> DESC grade;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(20) | YES | | NULL | |
| username | varchar(20) | YES | | NULL | |
| grade | float | YES | | NULL | |
| age | int(10) | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
4 rows in set

7、删除字段(ALTER TABLE 表名 DROP 字段名;

mysql> ALTER TABLE grade DROP age;Query OK, 0 rows affected
Records: 0 Duplicates: 0 Warnings: 0

查看后:
mysql> DESC grade;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(20) | YES | | NULL | |
| username | varchar(20) | YES | | NULL | |
| grade | float | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
3 rows in set

8、修改字段的排列位置(ALTER TABLE表名 MODIFY 字段名1 数据类型 FIRST|AFTER 字段名2

(1)
mysql> ALTER TABLE grade MODIFY username VARCHAR(20) FIRST;Query OK, 0 rows affected
Records: 0 Duplicates: 0 Warnings: 0
查看后:
mysql> DESC grade;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| username | varchar(20) | YES | | NULL | |
| id | int(20) | YES | | NULL | |
| grade | float | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
3 rows in set

(2)
mysql> ALTER TABLE grade MODIFY id INT(20) AFTER grade;Query OK, 0 rows affected
Records: 0 Duplicates: 0 Warnings: 0
查看后:
mysql> DESC grade;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| username | varchar(20) | YES | | NULL | |
| grade | float | YES | | NULL | |
| id | int(20) | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
3 rows in set

9、删除数据表(DROP TABLE 表名;)
mysql> DROP TABLE grade;
Query OK, 0 rows affected

10、表的约束
约束条件 说明
PRIMARY KEY 主键约束,用于唯一标识对应的记录
FOREIGN KEY 外键约束
NOT NULL 非空约束
UNIQUE 唯一性约束
DEFAULT 默认值约束,用于设置字段的默认值

多字段主键指的是多个字段组合而成的主键(PRIMARY KEY (字段名1,字段名2,……字段名n)
)
mysql> CREATE TABLE exam_1
->
-> (
-> stu_id INT,
-> course_id INT,
-> grade FLOAT,
-> PRIMARY KEY(stu_id,course_id)
-> );
Query OK, 0 rows affected

mysql> DESC exam_1;
+-----------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| stu_id | int(11) | NO | PRI | 0 | |
| course_id | int(11) | NO | PRI | 0 | |
| grade | float | YES | | NULL | |
+-----------+---------+------+-----+---------+-------+
3 rows in set

使用AUTO_INCREMENT设置表字段值自动增加(字段名 数据类型 AUTO_INCREMENT;
)
mysql> CREATE TABLE exam_2
-> (
-> id INT PRIMARY KEY AUTO_INCREMENT,
-> stu_id INT UNIQUE,
-> grade FLOAT DEFAULT 0
-> );
Query OK, 0 rows affected

mysql> DESC exam_2;
+--------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| stu_id | int(11) | YES | UNI | NULL | |
| grade | float | YES | | 0 | |
+--------+---------+------+-----+---------+----------------+
3 rows in set

mysql> CREATE TABLE exam_3
-> (
-> id INT PRIMARY KEY AUTO_INCREMENT,
-> stu_id INT UNIQUE,
-> grade FLOAT
-> );
Query OK, 0 rows affected

mysql> DESC exam_3;
+--------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| stu_id | int(11) | YES | UNI | NULL | |
| grade | float | YES | | NULL | |
+--------+---------+------+-----+---------+----------------+
3 rows in set

原文地址:https://www.cnblogs.com/p1035/p/11741243.html

时间: 2024-12-26 00:31:29

数据表的基本操作与表的约束的相关文章

mysql数据库表的基本操作sql语句总结

1,命令行登录命令 mysql -h localhost -u root -p C:\Users\lenovo>mysql -u root -p Enter password: ***** Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.5.28 MySQL Community Server (GPL) Copyright (c) 2

数据库、数据表的基本操作及查询数据

数据库的基本操作 创建数据库 CREATE DATABASE database_name database_name为要创建的数据库的名称 删除数据库 DROP DATABASE database_name database_name为要删除的数据库的名称 数据库存储引擎 数据库存储引擎是数据库底层软件组成,数据库管理系统(DBMS)使用数据引擎进行创建.查询.更新和删除数据操作. MySQL的核心就是存储引擎. 存储引擎比较 |功能|MyISAM|Memory|InnoDB|Archive|

三、数据表的基本操作

3.1.创建数据表 创建数据表指的是在已经创建好的数据库中建立新表.创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(实体完整性.引用完整性.域完整性)约束的过程. 创建表的语法格式 数据表属于数据库,在创建数据表之前,应该先创建数据库,指定在哪个数据库中进行. mysql> USE test; Database changed mysql> CREATE TABLE tb_name ( 字段名1,数据类型 [列级别约束条件] [默认值], 字段名2,数据类型 [列级别约束条件

数据表的基本操作

1. SQL语句1.1. CREATE语句创建BOOKINFO表:CREATE TABLE BOOKINFO (BOOKID NUMBER , BOOKNAME CHAR , PUBLISH VARCHAR2(20), PUBDATE VARCHAR2(20),PRICE DECIMAL(7,2) DEFAULT 0.0,AUTHOR CHAR,STORE INT DEFAULT 0 NOT NULL, READER NUMBER, REMARKS VARCHAR2(50));1.2. 修改用户

mysql数据表的基本操作

好久没梳理下Mysql基础命令了.今天抽空整理了下,虽然很简单...但是还是有必要巩固下基础滴啦 1.创建表:之前需要use database database_name 然后create table 表名(): 例:创建员工表tb_employee1,结构如下表所示 字段名称 数据类型 备注 id int(11) 员工编号 name varchar(25) 员工名称 depld int(11) 所在部门编号 salary float 工资 mysql> create database aa;

MySQL数据表的基本操作三:综合示例

一.创建数据库 mysql> create database company; mysql> use company; 二.创建表 1. 创建表offices mysql> create table offices -> ( -> officeCode int(10) NOT NULL UNIQUE, -> city varchar(50) NOT NULL, -> address varchar(50) NOT NULL, -> country varch

MySQL数据表的基本操作二:表结构查看、修改与表操作

一.查看数据表结构 1) 查看表基本结构语句 DESCRIBE 语法:DESCRIBE 表名; 示例: mysql> DESCRIBE product; +--------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+--------------+------+-----+---------

mysql(三) 数据表的基本操作操作

mysql(三) 数据表的基本操作操作 创建表,曾删改查,主键,外键,基本数据类型. 1. 创建表 create table 表名( 列名 类型 是否可以为空, 列名 类型 是否可以为空 )ENGINE=InnoDB DEFAULT CHARSET=utf8 例如: 类型解释: 是否可以为空: 是否可空,null表示空,非字符串 not null - 不可空 null - 可空 默认值设置 默认值,创建列时可以指定默认值,当插入数据时如果未主动设置,则自动添加默认值 create table t

02 MySQL之数据表的基本操作

01-创建数据表 # 切换数据库 use test_db; # 创建数据表 语法规则如下: create table 表名 ( 字段名1, 数据类型 [列级别约束条件] [默认值], 字段名2, 数据类型 [列级别约束条件] [默认值], ...... [表级别约束条件] ); 注意: 1.要创建的表名称,不区分大小写,不能使用SQL关键字. 2.数据表中创建多列,要用 逗号 隔开. 例: create table test_db ( id INT(11), name VARCHAR(25),