首页 > 代码库 > mysql学习笔记-数据库常用命令
mysql学习笔记-数据库常用命令
数据库常用命令
1.添加需要路径:PATH="$PATH":/usr/local/mysql/bin
2.登陆数据库系统:mysql -h localhost -u root -p
3.创建数据库:CREATE DATABASE 数据库名
4.显示数据库:SHOW DATABASES;
5.删除数据库:DROP DATABASE 数据库名;
6.创建表:CREATE TABLE 表名(属性名 数据类型 [完整性约束条件],属性名 数据类型 [完整性约束条件],属性名 数据类型);
注意:在使用该语句之前首先要使用use语句选择数据库,并且表名不能以sql关键字。
示例:CREATE TABLE example(id INT,name VARCHAR(20),sex BOOLEAN);
约束条件表
1.单字段主键:属性名 数据类型 PRIMARY KEY
CREATE TABLE example2(stu_id INT PRIMARY KEY,grade FLOAT,course_id INT);
2.多字段主键:PRIMARY KEY(属性名1,属性名2,....属性名n);
示例:CREATE TABLE example2(stu_id INT,grade FLOAT,course_id INT,PRIMARY KEY(stu_id,course_id));
3.设置表外键:外键是表的一个特殊字段。如果字段sno是一个表A的属性,且依赖表B的主键。那么,称表B为父表,表A为子表,sno为表A的外键。通过sno字段将父表B和子表A建立关联关系。
设置外键原则就是必须依赖于数据库中已存在的父表的主键;外键可以为空值。
外键的作用是建立该表与其父表的关联关系。父表中删除某条信息时,子表中与之对应的信息也必须有相应的改变。例如,stu_id是student表的主键,stu_id是grade的表中得外键。 当 stu_id为‘123’同学退学了,需要从student表中删除该学生的信息。那么,grade表中stu_id为‘123’的所有信息也应该同时删除这样可以保证信息的完整性。
设置外键语法:CONSTRAINT 外建别名 FOREIGN KEY(属性1.1,属性1.2,....属性1.n) REFERENCES 表名(属性2.1,属性2.2,...,属性2.n);
属性1为子表中设置的外键,表名是指父表的名称;属性2参数列表是父表的主键
示例:CREATE TABLE example3(id INT PRIMARY KEY,stu_id INT,course_id INT,CONSTRAINT c_fk FOREIGN KEY(stu_id,course_id) REFERENCES example2(stu_id,course_id));
4.设置表唯一性约束:所有记录中该字段值不能重复出现
语法:属性名 数据类型 UNIQUE
示例:CREATE TABLE example5(id INT PRIMARY KEY,stu_id INT UNIQUE,name VARCHAR(20) NOT NULL);
5.设置表属性自动增加:AUTO_INCREMENT 是mysql数据库中一个特殊的约束。主要用于为表插入的新记录自动生成唯一的ID。AUTO_INCREMENT约束字段可以是任意整数(TINYINT,SMALLINT,INT和BIGINT等)一个表只能有一个字段设置AUTO_INCREMENT约束且该字段必须为主键的一部分。
语法:属性名 数据类型 AUTO_INCREMENT
示例:CREATE TABLE example6(id INT PRIMARY KEY AUTO_INCREMENT,stu_id INT UNIQUE,name VARCHAR(20) NOT NULL);
6.设置表的属性的默认值
语法:属性名 数据类型 DEFAULT 默认值
示例:CREATE TABLE example7(id INT PRIMARY KEY AUTO_INCREMENT,stu_id INT UNIQUE,name VARCHAR(20) NOT NULL,English VARCHAR(20) DEFAULT ‘zero‘,Math FLOAT DEFAULT 0,Computer FLOAT DEFAULT 0);
7.查看表结构
语法:DESCRIBE 表名; 或者 DESC 表名;
示例:DESCRIBE example1; 或者DESC example1;
8.查看表详细结构语句
语法:SHOW CREATE TABLE 表名;
示例:SHOW CREATE TABLE example \G
修改表
修改表使用ALTER TABLE 语句
1.修改表名
语法:ALTER TABLE 旧表名 RENAME [TO] 新表明;
示例:ALTER TABLE example RENAME user;
2.修改字段数据类型
语法:ALTER TABLE 表名 MODIFY 属性名 数据结构;
示例:ALTER TABLE user MODIFY name VARCHAR(30);
3.修改字段名:字段名可以在表中唯一的确定一个字段。数据库系统通过字段名来区分表中的不同字段。
语法:ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;
1.只修改字段名
只需将 新数据类型 和原数据类型 写成一样即可
示例:ALTER TABLE user CHANGE name stu_name VARCHAR(30);
2.修改字段名和字段数据类型
示例:ALTER TABLE user CHANGE sex stu_sex INT(2);
4.增加字段
语法:ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST| ALTER 属性名2];
1.增加无完整性约束条件的字段
示例:ALTER TABLE user ADD phone VARCHAR(20);
2.增加有完整性约束条件的字段
示例:ALTER TABLE user ADD phone INT(4) NOT NULL;
3.表的第一个位置增加字段
示例:ALTER TABLE user ADD num INT(8) PRIMARY KEY FIRST;
4.在表指定位置之后增加字段
示例:ALTER TABLE user ADD address VARCHAR(30) NOT NULL AFTER phone;
5.删除字段
语法:ALTER TABLE 表名 DROP 属性名;
示例:ALTER TABLE user DROP id;
6.修改字段的排列位置
语法:ALTER TABLE 表名 MODIFY 属性名1 数据类型 FIRST | AFTER 属性名2;
”属性名1“ 指需要修改位置的字段名称; ”数据类型“ 参数指 ”属性名1“的数据类型 ”FIRST“ 参数指定位位置为表的第一位置; ”AFTER 属性名 2“ 参数指定 ”属性名 1“ 插入在 ”属性名 2“ 之后。
1.字段修改到第一个位置
示例:ALTER TABLE user MODIFY stu_name VARCHAR(30) FIRST;
2.字段修改到指定位置
示例:ALTER TABLE user MODIFY stu_sex TINYINT(1) AFTER phone;
7.更改表的存储引擎
语法:ALTER TABLE 表名 ENGINE = 存储引擎名;
示例: ALTER TABLE user ENGINE = MyISAM;
8.删除表的外键约束
语法:ALTER TABLE 表名 DROP FOREIGN KEY 外键别名;
示例:ALTER TABLE example3 DROP FOREIGN KEY c_fk;
删除表
1.删除没有关联的普通表
语法:DROP TABLE 表名;
示例:DROP TABLE example5;
2.删除被其他表关联的父表
1.先删除子表在删除父表
2.先删除依赖关系在删除父表 可确保数据库的安全
示例:ALTER TABLE example3 DROP FOREIGN KEY c_fk;
DROP TABLE example;