赞
踩
- // 暂停服务 默认 80
- net stop mysql80
-
- // 启动服务
- net start mysql80
-
- // 任意地方启动 mysql 客户端的连接
- mysql -u root -p
1、查询所有数据库
show databases;
2、 新建数据库
- create database 库名;
-
- // 没有当前的数据库名的情况下创建
- create if not exists database 库名;
3、查询当前数据库
select database();
4、使用数据库
use 库名;
5、删除数据库
drop database 库名;
1、查询当前数据库所有的表 (如果没有创建表,我们可以先使用系统的表,然后载查询)
show tables;
2、创建表结构
2.1 创建之前先回到我们自己需要创建表格的库
2.2 创建表的结构
- create table 表名(
- 字段1 字段1类型 [约束] [comment 字段1注释 ],
- 字段2 字段2类型 [约束] [comment 字段2注释 ],
- ......
- 字段n 字段n类型 [约束] [comment 字段n注释 ]
- ) [ comment 表注释 ] ;
2.3 控制台写
2.4 创建成功
2.5 出现 ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘编号’, name varchar(10) comment 姓名 错误 说明创建表的过程中 符号没有统一
3、查看指定表结构
desc 表名 ;#可以查看指定表的字段、字段的类型、是否可以为NULL、是否存在默认值等信息
4、查询指定表的建表语句
show create table 表名 ;
5、MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。
数值类型
类型 | 大小 | 有符号(SIGNED)范围 | 无符号(UNSIGNED)范围 | 描述 |
---|---|---|---|---|
TINYINT | 1byte | (-128,127) | (0,255) | 小整数值 |
SMALLINT | 2bytes | (-32768,32767) | (0,65535) | 大整数值 |
MEDIUMINT | 3bytes | (-8388608,8388607) | (0,16777215) | 大整数值 |
INT/INTEGER | 4bytes | (-2147483648,2147483647) | (0,4294967295) | 大整数值 |
BIGINT | 8bytes | (-2^63,2^63-1) | (0,2^64-1) | 极大整数值 |
FLOAT | 4bytes | (-3.402823466 E+38,3.402823466351 E+38) | 0 和 (1.175494351 E-38,3.402823466 E+38) | 单精度浮点数值 |
DOUBLE | 8bytes | (-1.7976931348623157 E+308,1.7976931348623157 E+308) | 0 和 (2.2250738585072014 E-308,1.7976931348623157 E+308) | 双精度浮点数值 |
DECIMAL | 依赖于M(精度)和D(标度)的值 | 依赖于M(精度)和D(标度)的值 | 小数值(精确定点数) |
- 示例:
- 年龄字段 ---不会出现负数, 而且人的年龄不会太大
- age tinyint unsigned
-
- 分数 ---总分100分, 最多出现一位小数
- score double(4,1)
字符串类型
类型 | 大小 | 描述 |
---|---|---|
CHAR | 0-255 bytes | 定长字符串(需要指定长度) |
VARCHAR | 0-65535 bytes | 变长字符串(需要指定长度) |
TINYBLOB | 0-255 bytes | 不超过255个字符的二进制数据 |
TINYTEXT | 0-255 bytes | 短文本字符串 |
BLOB | 0-65 535 bytes | 二进制形式的长文本数据 |
TEXT | 0-65 535 bytes | 长文本数据 |
MEDIUMBLOB | 0-16 777 215 bytes | 二进制形式的中等长度文本数据 |
MEDIUMTEXT | 0-16 777 215 bytes | 中等长度文本数据 |
LONGBLOB | 0-4 294 967 295 bytes | 二进制形式的极大文本数据 |
LONGTEXT | 0-4 294 967 295 bytes | 极大文本数据 |
char 与 varchar 都可以描述字符串,char是定长字符串,指定长度多长,就占用多少个字符,和字段值的长度无关 。而varchar是变长字符串,指定的长度为最大占用长度 。相对来说,char的性能会更高些。
char 与 varchar 都可以描述字符串,char是定长字符串,指定长度多长,就占用多少个字符,和字段值的长度无关 。而varchar是变长字符串,指定的长度为最大占用长度 。相对来说,char的性能会更高些。
日期时间类型
类型 | 大小 | 范围 | 格式 | 描述 |
---|---|---|---|---|
DATE | 3 | 1000-01-01 至 9999-12-31 | YYYY-MM-DD | 日期值 |
TIME | 3 | -838:59:59 至 838:59:59 | HH:MM:SS | 时间值或持续时间 |
YEAR | 1 | 1901 至 2155 | YYYY | 年份值 |
DATETIME | 8 | 1000-01-01 00:00:00 至 9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
TIMESTAMP | 4 | 1970-01-01 00:00:01 至 2038-01-19 03:14:07 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值,时间戳 |
- 示例:
- 生日字段 birthday ---生日只需要年月日
- birthday date
-
- 创建时间 createtime --- 需要精确到时分秒
- createtime datetime
练习
- create table emp(
- id int comment '编号',
- workno varchar(10) comment '工号',
- name varchar(10) comment '名字',
- gender char(1) comment '性别',
- age tinyint unsigned comment '年龄',
- idcard char(18) comment '身份证号',
- entrydate date comment '入职时间'
- ) comment '员工表';
1. 添加字段
alter table 表名 add 字段名 类型(长度) [comment 注释] [约束];
案例
alter table emp add nickname varchar(20) comment '昵称';
2. 修改指定字段的数据类型
alter table 表名 modify 字段名 新数据类型(长度);
3. 修改字段名和字段类型
alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释] [约束];
案例
alter table emp change nickname username varchar(50) comment '用户名';
4. 删除字段
alter table 表名drop 字段名;
案例
alter table emp drop username;
5. 修改表名
alter table 原来的表名 rename to 新表名;
案例
alter table emp rename to employee;
6. 删除表
drop table [ if exists ] 表名;
if exists :只有表名存在时才会删除该表,表名不存在,则不执行删除操作(如果不加该参数项,删除一张不存在的表,执行将会报错)。
案例
drop table if exists tb_user;
7. 删除指定的表, 并创建该表 表中的数据也回被删掉
truncate table 表名;
案例
DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增、删、改操作。
添加数据(INSERT)
修改数据(UPDATE)
删除数据(DELETE)
1、增加(insert)
insert into 表名 (字段名1, 字段名2) values (值1, 值2);
案例
insert into employee(id,workno,name,gender,age,idcard,entrydate) VALUES(1,'1','itcast','男','10','123456789012345678','2000-01-01');
2. 全部字段添加数据
insert into 表名 values (值1, 值2, ...);
案例
insert into employee VALUES (3,'2','张三','女','50','2222222222222222','2024-06-07');
3. 批量添加数据(指定字段)后面使用 逗号隔开
insert into 表名 (字段名1, 字段名2) values (值1, 值2), (值1, 值2);
案例
insert into employee VALUES (4,'2','张4','女','40','2222222222222222','2024-06-07'),(5,'2','张5','女','50','2222222222222222','2024-06-07');
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。