(增)创建数据库
CREATE DATABASE 数据库名;
MySQL [mysql]> create database chuid; # 创建一个chuid数据库
Query OK, 1 row affected (0.04 sec)
MySQL [mysql]> show databases; # 查看数据库
+--------------------+
| Database |
+--------------------+
| information_schema |
| chuid |
| mysql |
| mysql_chd |
| mysql_chuid |
| performance_schema |
+--------------------+
6 rows in set (0.00 sec)
(增)创建数据表
CREATE TABLE 表名(字段1 数据类型,字段2 数据类型,…)PRIMARY KEY(主键名);
MySQL [chuid]> create table chd(id int(5),name char(10),sex char(3),primary key(id)); # 创建一个chd数据表
Query OK, 0 rows affected (0.33 sec)
MySQL [chuid]> show tables; # 查看数据表
+-----------------+
| Tables_in_chuid |
+-----------------+
| chd |
+-----------------+
1 row in set (0.00 sec)
(增)向数据表中插入新的数据记录
INSERT INTO 表名(字段1,字段2,…)VALUES( 字段1的值,字段2 的值,…);
MySQL [chuid]> insert into chd(id,name,sex)values(52,'chd','man'); # 在数据表中插入新的数据信息
Query OK, 1 row affected (0.04 sec)
MySQL [chuid]> show tables; # 查看数据表
+-----------------+
| Tables_in_chuid |
+-----------------+
| chd |
+-----------------+
1 row in set (0.00 sec)
MySQL [chuid]> select * from chd; # 查看chd数据表中的所有信息
+----+------+------+
| id | name | sex |
+----+------+------+
| 52 | chd | man |
+----+------+------+
1 row in set (0.00 sec)
(增)增加表字段 [三种方式]
MySQL数据表是由行和列构成的,通常把表的“列”称为字段(Field),把表的“行”称为记录(Record)。随着业务的变化,可能需要在已有的表中添加新的字段。
MySQL允许在开头、中间和结尾处添加字段
在末尾添加字段
一个完整的字段包括字段名、数据类型和约束条件。
语法格式:ALTER TABLE 表名称 ADD 字段名称;
添加字段的语法格式:ALTER TABLE <表名> ADD <新字段名><数据类型>[约束条件];
* 对语法格式的说明如下:
1)<表名> 为数据表的名字;
2)<新字段名> 为所要添加的字段的名字;
3)<数据类型> 为所要添加的字段能存储数据的数据类型;
4)[约束条件] 是可选的,用来对添加的字段进行约束。
这种语法格式默认在表的最后位置(最后一列的后面)添加新字段。
MySQL [mysql_chuid]> create table class_1(id int(5),name char(10),sex int(5)); # 创建表class_1
Query OK, 0 rows affected (0.18 sec)
MySQL [mysql_chuid]> desc class_1; # 查看表结构
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| id | int(5) | YES | | NULL | |
| name | char(10) | YES | | NULL | |
| sex | int(5) | YES | | NULL | |
+-------+----------+------+-----+---------+-------+
3 rows in set (0.01 sec)
MySQL [mysql_chuid]> ALTER table class_1 ADD age int(5); # 在表中添加一个int类型的字段age
Query OK, 0 rows affected (0.13 sec)
Records: 0 Duplicates: 0 Warnings: 0
MySQL [mysql_chuid]> desc class_1;
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| id | int(5) | YES | | NULL | |
| name | char(10) | YES | | NULL | |
| sex | int(5) | YES | | NULL | |
| age | int(5) | YES | | NULL | |
+-------+----------+------+-----+---------+-------+
4 rows in set (0.00 sec)
在开头添加字段
MySQL默认在表的最后位置添加新字段,如果希望在开头位置(第一列的前面)添加新字段,那么可以使用FIRST关键字
语法格式:ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] FIRST;
FIRST 关键字一般放在语句的末尾。
MySQL [mysql_chuid]> ALTER table class_1 ADD claID int(5) FIRST; # 在表的第一列添加int类型的字段slaID
Query OK, 0 rows affected (0.16 sec)
Records: 0 Duplicates: 0 Warnings: 0
MySQL [mysql_chuid]> desc class_1;
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| claID | int(5) | YES | | NULL | |
| id | int(5) | YES | | NULL | |
| name | char(10) | YES | | NULL | |
| sex | int(5) | YES | | NULL | |
| age | int(5) | YES | | NULL | |
+-------+----------+------+-----+---------+-------+
5 rows in set (0.00 sec)
在中间位置添加字段
MySQL除了允许在表的开头位置和末尾位置添加字段外,还允许在中间位置(指定的字段之后)添加字段,此时需要使用AFTER关键字
语法格式:ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] AFTER <已经存在的字段名>;
AFTER的作用是将新字段添加到某个已有字段后面。
* 只能在某个已有字段的后面添加新字段,不能在它的前面添加新字段。
MySQL [mysql_chuid]> ALTER table class_1 ADD hometown varchar(20) AFTER name;
Query OK, 0 rows affected (0.36 sec)
Records: 0 Duplicates: 0 Warnings: 0
# 在表中添加varchar类型的字段hometown,且该字段位于name字段后面
MySQL [mysql_chuid]> desc class_1;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| claID | int(5) | YES | | NULL | |
| id | int(5) | YES | | NULL | |
| name | char(10) | YES | | NULL | |
| hometown | varchar(20) | YES | | NULL | |
| sex | int(5) | YES | | NULL | |
| age | int(5) | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
6 rows in set (0.01 sec)