梓同学

181 阅读4分钟

mysql登录

找bin目录,cmd:

mysql -u root -p

然后就进入到mysql命令行:

image.png

进入到数据库

  1. 如果需要先查看已有的数据库列表:
show databases;

image.png 2. 如果需要创建数据库那么就输入创建数据库语句,如果不用创建数据库那么就下一步

-- 每条完整的sql语句末尾都要有分号;;;
create database 数据库名; -- 最简单的创库语句,其他的都会使用默认
create database 数据库名 character set utf8; -- 创建数据库并且设置数据库的字符编码

image.png 3. 然后就是进入到数据库中,因为刚登录到mysql时,并没有进入到具体的数据库,而创表又或是查询要先进入到对应的数据库中:

use 数据库名;

image.png

表操作

进入到数据库后,我们就可以进行接下来的东西,比如创建数据表,查看数据表...

  1. 查看数据表列表:
show tables;

和上面相似,show就是显示的意思,databases就是数据库,记得要有s,tables同理。

image.png 如果数据库中还没有表就会是这样,其实是正常的:

image.png

创建表

先直接写固定格式:

create table 表名(
字段名(也就是列名) 字段数据类型(括号里是对应的长度) 字段的一些规则, -- 最后一个字段不要加逗号,,,
);

image.png 实例:

create table 表名(
id int(11) not null,
name carchar(50) NOT null   -- sql语句中基本不区分大小写,没有规范要求的话怎么舒服怎么来
);

如果在命令行里面打错了的话,可以直接打一个分号;;;就回车,报错不用管,用方向键选择了修改就好,不一定要重新打

create table 表名 (
id int(11) primary key auto_increment,
name VARCHAR(30) not null,
sex enum('w', 'm') default 'm',
hobby set('football', 'basketball', 'volleyball'),
score float(3, 1),
mobile char(11) unique not null,
intro text
);

上面为前几天的表

image.png

解释每个字段的含义和约束:

  1. id:整数类型,长度为11,作为主键,并且自动递增。
  2. name:字符串类型,最大长度为30,不能为空。
  3. sex:枚举类型,只允许取值为'w'或'm',默认值为'm'。
  4. hobby:集合类型,允许选择多个爱好,可选值为'football'、'basketball'、'volleyball'。
  5. score:浮点数类型,总长度为3,小数位数为1。
  6. mobile:字符串类型,固定长度为11,具有唯一性约束并且不能为空。
  7. intro:文本类型,用于存储较长的文本内容。

修改字段相关

alter table 表名 modify column 字段名 varchar(11);  -- 字段名后面就是新的属性,类似于创表的时候打的

前几天:

alter table 表名 modify column mobile varchar(11);

追加一个字段

ALTER TABLE 表名 ADD COLUMN (要追加的字段相关的东西) AFTER intro(在这个字段的后面添加);
-- 括号中的格式其实和创建表的时候打字段的格式一样,实际写的时候不要写括号,只是方便现在看
-- 后面那个括号也就只是备注

前几天:

ALTER TABLE 表名 ADD COLUMN entry_time date AFTER intro;

向数据表中添加数据(准确的说叫记录,也就是一行数据)

常用的固定格式:

INSERT INTO 表名 (字段名1,字段名2...) VALUES (字段1对应的数据,字段2对应的数据...);
-- 如果要添加多条数据:
INSERT INTO 表名 (字段名1,字段名2...) VALUES 
(字段1对应的数据,字段2对应的数据...),
(字段1对应的数据,字段2对应的数据...),
(字段1对应的数据,字段2对应的数据...);
-- 最精简,不建议常用:
INSERT INTO 表名 VALUES (字段1对应的数据,字段2对应的数据...); 
-- 数据会直接从第一个字段顺着写进去,要添加多条同上

前几天:

INSERT INTO 表名 (id, name, sex, hobby, score, mobile, intro, entry_time) VALUES 
(1, '小赵', 'w', 'basketball', 9.3, '1388881111', null, '2009-05-07'), 
(2, '小钱', 'w', 'volleyball', 9.1, '1388882222', null, '2008-01-06'), 
(3, '小孙', 'm', 'football', 9.5, '1388883333', null, '2006-03-19');

修改值

常用的固定格式:

UPDATE 表名 SET 要修改的字段名1 = "对应的数据",要修改的字段名2 = "对应的数据" WHERE 条件;

-- 可以同时修改多个字段,用逗号隔开,只有一个或最后一个不用加逗号
-- 一般都需要加上条件,比如: name = "张三",如果没有条件,那么会将这个表中所有的数据的对应字段都修改了

前几天,同时也是个示例:

UPDATE 表名 SET hobby = 'volleyball' WHERE name = '小孙';

删除记录

常用的固定格式:

-- 其实和修改表数据差不多
DELETE FROM 表名 WHERE 条件;
-- 如果没有加上条件,那么会删除这个表中所有的记录

前几天,同时也是个示例:

DELETE FROM 表名 WHERE id = 1;

最后把那个表查出来

SELECT * FROM 表名;