MySQL快速入门 学习笔记 安装配置与数据库、表操作
MySQL快速入门 学习笔记
安装与配置
登陆命令:mysql -h localhost -u root -p
然后输入密码。其中,localhost
是本机ip地址的意思,可以改为127.0.0.1
,root
是用户名,可根据具体环境修改。
数据库、表操作
1.创建数据库
CREATE DATABASE database_name;
创建一个database_name数据库
SHOW DATABASES;
查看存在的数据库
2.删除数据库
DROP DATABASE database_name;
删除一个dabase_name数据库
3.创建数据表
创建语法
CREATE TABLE database_name
(
field1 type(length) constraintCondition defaultValue,
field2 type(length) constraintCondition defaultValue,
......
constraintCondition
);
创建一个名为database_name的数据表,数据表内有field1、2…等字段,各个字段的行级约束条件分别为各自的constraintCondition,然后再加上表级的constraintCondition。
USE database_name;
后续操作将在database_name数据库中进行。如果不使用此命令,会出现错误。
创建多个列,各个列之间需要用逗号隔开。
表的名称不区分大小写。
SHOW TABLES;
显示当前数据库中的数据表。
主键约束
单字段主键
field type PRIMARY KEY defaultValue,
定义列的同时定义主键。
[CONSTRAINT constraint] PRIMARY KEY(field)
定义完所有列后指定主键。
多字段主键
PRIMARY KEY(field1,field2,field3...)
多字段联合主键。
外键约束
通过一个字段与另一个数据表的主键字段建立联系,将数据项与其他的表关联起来,这个字段就是外键。
[CONSTRAINT foreign_key_name] FOREIGN KEY feild1[, feild2, ...] REFERENCES host_sheet_name primary_key1 [, primary_key2, ...]
在定义完所有的字段后,在输入以上外键约束条件,根据已有字段定义外键。所定义的外键字段数据类型必须和对应主键的数据类型严格相同。
创建一个名为foreign_key_name,约束feild1,feild2…字段的外键,依赖host_sheet_name表的primary_key1,primary_key2… 主键。
外键名,外键约束的名称foreign_key_name在一个表中不可有重复,一个表中不可以有相同名称的外键。如果省略,MySQL将自动赋予一个名称。
非空约束
field type NOT NULL,
值不能为空。
唯一性约束
field type UNIQUE,
该列的每一个值只能是列中唯一的。
在定义完所有的列后,可以指定唯一性约束:CONSTRAINT constraint UNIQUE(field)
默认约束
没有给值的情况下赋默认值:field type DEFAULT value
设置自动增加
每新增一条记录,该列的值就自动加一,适用于各种整数类型TINYINT,SMALLINT,INT,BIGINT
field type AUTO_INCREMENT
插入语句,往表中插入记录:
INSERT INTO table_name (filed1, filed2)
VALUES ("value1" , value2) , ('value3', value4), ...;
使用INSERT
声明向表中插入记录的方法只是在MySQL中有用,别的数据库系统可能不适用。
查看数据表中的记录:SELECT * FROM table_name
4.查看数据表
基本语句
DESCRIBE table_name;
DESC table_name;
输出表格各字段的含义:
Null
是否可以为空
Key
是否已经编制索引:PRI
是否是逐渐的一部分,UNI
是否是在UNIQUE
索引之中,MUL
某个给定值允许出现多次。
Deafault
默认值是多少。
Extra
给出可获取的其他信息,例如AUTO_INCREMENT
。
查看详细结构
SHOW CREAT TABLE table_name\G;
\G
的参数可以使得输出更加清晰可读。
5.修改数据表
修改表名
ALTER TABLE old_name RENAME [TO] new_name;
修改字段数据类型
ALTER TABLE table_name MODIFY field type;
修改字段名
ALTER TABLE table_name CHANGE ole_field_name new_field_name type;
当新旧字段名相同时可以实现和以上方法等效的数据类型修改。
添加字段
ALTER TABLE table_name ADD field type [constraint] [FIRST|AFTE exist_field];
如不指定最后一项位置参数,MySQL默认插入到最后的位置。
删除字段
ALTER TABLE table_name DROP field;
改变位置
ALTER TABLE table_name MODIFY field type FIRST|AFTER exist_field;
删除外键约束
ALTER TABLE table_name DROP FOREIGN KEY key_name;
通过查看详细结构语句来查看表的外键约束情况。
删除数据表
没有关联的表
DROP TABLE [IF EXISTS] table1, table2 ...;
使用IF EXISTS
可以让MySQL在删除数据表之前检查表是否存在,如不存在,会掷出一个警告,然后执行后续操作。如不使用IF EXISTS
,在数据表不存在的情况下会报错。
有关联的表
删除子表:直接使用删除命令。
删除父表:将所有对应子表删除后,在删除父表;解除所有外键约束后,删除父表。
数据库导出
导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u dbuser -p dbname > dbname.sql