(20-6-4记录:最有距离情感的电话
希望每一个人都可以表达自己出感情,不要憋成在眼眶中不能流下的泪花。)
创建数据库表
mysql -u root -p
show databases;
create database 数据库名
use 数据库名(drop database 删除数据库名)
CREATE TABLE table_name(
col_name1 data_type [Constraints],
col_name2 data_type [Constraints],
……
col_namen data_type [Constraints]
);
添加主键约束:
primary key
语法形式为:
col_name data_type PRIMARY KEY
定义所有字段后设置主键约束 语法形式为:
PRIMARY KEY (col_name)
设置自增约束:
auto_increment
语法形式如下:
id INT(11) PRIMARY KEY AUTO_INCREMENT
设置非空约束:
not null
语法形式如下:
col_name data_type NOT NULL
设置唯一性约束:
unique
语法形式如下:
col_name data_type UNSIGNED;
定义所有字段后设置唯一性约束 语法形式为:
UNIQUE KEY(col_name)
设置无符号约束:
语法形式如下:
col_name data_type UNSIGNED;
设置默认约束:
设置默认约束的关键字为DEFAULT,语法形式如下:
col_name data_type DEFAULT value
设置外键约束
设置外键约束的主要作用是保证数据的完整性。
设置外键约束的语法形式如下:
CONSTRAINT key_name FOREIGN KEY(child_col_name)
REFERENCES parent_table_name(parent_col_name)
CONSTRAINT,FOREIGN KEY和REFERENCES为设置外键约束的关键字,key_name表示外键名,child_col_name表示从表中需要设置外键约束的字段名,parent_table_name表示主表名,parent_col_name表示主表中主键的字段名。
查看表基本结构
DESCRIBE table_name
desc table_name
查看建表语句
使用SHOW CREATE TABLE语句可以查看表的建表语句,语法形式如下:
SHOW CREATE TABLE table_name
修改表名
修改数据表名称的关键字为RENAME,语法形式如下:
ALTER TABLE old_table_name RENAME new_table_name;
修改字段数据类型
修改字段数据类型的关键字为MODIFY,语法形式如下:
ALTER TABLE table_name MODIFY col_name new_data_type;
修改字段名
修改数据表字段名称的关键字为CHANGE,语法形式如下:
ALTER TABLE table_name CHANGE old_col_name new_col_name data_type;
添加字段
常见添加字段的操作一般分为三种情况:在表的最后一列,在表的第一列或者在指定列之后。
1)在表的最后一列添加字段
添加字段的关键字为ADD,语法形式如下:
ALTER TABLE table_name ADD col_name data_type;
2)在表的第一列添加字段
ALTER TABLE table_name ADD col_name data_type FIRST;
3)在表的指定列之后添加字段
ALTER TABLE table_name ADD col_name1 data_type AFTER col_name2;
删除字段
删除数据表字段的关键字为DROP,语法形式如下:
ALTER TABLE table_name DROP col_name;
修改字段顺序
修改字段顺序的关键字为MODIFY,语法形式如下:
ALTER TABLE table_name MODIFY col_name data_type FIRST | AFTER col_name2;
修改存储引擎
用户可以在创建表时设置存储引擎,也可以在表创建完成之后修改表的存储引擎,语法形式如下:
ALTER TABLE table_name ENGINE=e_name;
在修改存储引擎之前,往往需要首先查看表当前的存储引擎,语法形式如下:
SHOW CREATE TABLE table_name \G
删除没有被关联的表
使用DROP关键字可以一次性删除一个或多个没有被其他表关联的表,语法形式如下:
DROP TABLE [IF EXISTS] table_name1,table_name2,……,table_namen;
删除被其他表关联的主表
如果数据表之间存在外键关联,那么直接删除主表,系统会提示错误信息,这种情况下,可以先删
除与它关联的从表,再删除主表。但有时需要保留从表中的数据,此时需解除主表和从表之间的关联,
即删除从表中的外键约束。
删除外键的语法形式如下:
ALTER TABLE table_name DROP FOREIGN KEY key_name;
数据库三范式总结
一范式:列不可再分(所有字段值都是不可分解的原子值)
二范式:取消部分依赖(需要确保数据库表中每一列都和主键相关,而不能只与主键的某一部分相关【主要针对联合主键而言】)。
三范式:取消传递依赖(需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。)
数据库引擎
SHOW VARIABLES LIKE ‘default_storage_engine’;
打开my.ini配置文件,在“[mysqld]”组下面添加以下内容,然后保存文件即完成修改。
#设置MySQL服务器的默认存储引擎
default_storage_engine = MyISAM
修改完毕后,需要重启MySQL服务,修改才能生效。可以重启并重新登
录MySQL,并采用前面的方法查询修改结果。
InnoDB:
MyISAM:
字符集
执行SQL语句,查看当前服务器使用的字符集,结果如下所示:
mysql> SHOW VARIABLES LIKE ‘character_set_server’;
±----------------------------±------+
| Variable_name | Value |
±----------------------------±------+
| character_set_server | utf8 |
±----------------------------±------+
1 row in set, 1 warning (0.00 sec)
打开my.ini配置文件,在“[mysqld]”组中添加以下内容,然后保存文件即完成修改。
#设置默认字符集和排序规则
character-set-server=utf8 collation-server=utf8_general_ci
使用关键字DEFAULT CHARSET可以在创建数据库时选择字符集,语法形式如下:
CREATE DATABASE database_name DEFAULT CHARSET set_name;
使用关键字ALTER可以修改数据库的字符集,语法形式如下。
ALTER DATABASE database_name DEFAULT CHARSET utf8;
向表中所有字段插入数据
向表中所有字段插入数据有两种方式,一种是指定所有字段及其相对应的值,另一种是不指定字段只列出字
段值。
1)指定字段及其值
INSERT INTO table_name(col_name1,col_name2,……col_namen)
VALUES(value1,value2,……valuen);
2)不指定字段只列出字段值
INSERT INTO table_name VALUES(value1,value2,……,valuen);
同时插入多条数据
使用INSERT关键字还可以同时向数据表中插入多条数据,语法形式为:
INSERT INTO table_name(col_name1,col_name2,……,col_namen)
VALUES(value1,value2,……,valuen),
……
(value 1,value2,……,valuen);
将其他表中的数据插入到表中
在实际应用中,有时需要将一张表的数据插入到另一张表中,此项操作也可以使用INSERT关键字实现,语法形式为:
INSERT INTO table_name1(table_name1_col_list)
SELECT table_name2_col_list FROM table_name2;
修改数据
修改所有数据
UPDATE table_name
SET col_name1=value1,col_name2=value2……,col_namen=valuen;
修改指定数据
修改数据时,一般会加上WHERE子句用于限定修改范围,语法形式如下:
UPDATE table_name
SET col_name1=value1,col_name2=value2,……,col_namen=valuen
WHERE condition;
删除数据
删除所有数据
DELETE FROM table_name;
删除指定数据
使用DELETE删除数据时加上WHERE子句可以限定删除范围,语法形式如下:
DELETE FROM table_name WHERE condition;
永久删除
truncate table table_namel;
本文详细介绍了MySQL数据库的基础操作,包括创建数据库表、数据库三范式、数据库引擎的选择(如InnoDB与MyISAM)、字符集配置以及数据的插入、修改和删除。还涉及到如何指定字段插入数据和通过WHERE子句进行条件修改。
624

被折叠的 条评论
为什么被折叠?



