MySQL数据库学习笔记,数据库入门1
数据库基础知识
1、数据库: 数据存储的仓库。
2、数据库管理系统:操纵和管理数据库的大型软件。
3、SQL:操作关系型数据库的编程语言,是一套标准。
4、如何启动和连接。
services.msc
然后找到mysql右键点选择启动或者关闭。安装完后自动会启动。
或者在命令行, net start mysql80
关闭net stop mysql80
5、客户端连接:
可以选择通过客户端启动,点击MySQL Command line Client…输入密码就行。
命令行: mysql [-h 127.0.0.1] [-p 3306] -u root -p
前面两个是IP和端口,默认可以省略。
6、关系型数据库
建立在关系模型基础上,由多张相互连接的二维表组成的数据库。
格式统一,便于维护,标准统一,使用方便。
7、SQL通用语法。
可以单行或者多行书写,以分号结尾。两个--
来注释,或者#
号。多行注释 /* 注释内容 */
DDL数据定义语言,定义数据库对象表,字段
DML数据操作语言,增删改。
DQL数据查询语言。
DCL数据控制语言。创建数据库用户,控制用户权限。
二、DDL-数据库操作
1、查询
查询所有数据库,show databases;
查询当前数据库,select database();
创建
create database [if not exist] bjpowernode [default charset utf8mb4][collate 排序规则];
删除数据库:drop if exist bjpowernode;
三、DDL-表操作-查询
查询当前数据库所有表:show tables;
查询表结构: desc 表名;
查询指定表的建表语句 show create table 表名;
1、创建表
create table 表名(
字段1 字段1类型 comment 字段1注释,
字段2 字段2类型 comment 字段2注释,
...
)[comment 表注释];
四、数据类型
类型 | 大小 | 有符合范围 | 无符号(UNSIGNED)范围 | 描述 |
---|---|---|---|---|
TINYINT | 1byte | (-128, 127) | (0, 255) | 小整数值 |
SMALLINT | 2bytes | (-32768,32767) | (0,65535) | 大整数值 |
MEDIUMINT | 3bytes | (-8388608,8388607) | (0,16777215) | 大整数值 |
除此之外还有,INT(4 bytes),BIGINT,FLOAT, DOUBLE等等。DECTMAL精度表示长度,标度表示小数位数。比如123.45,其中精度5标度2.
age tinyint unsigned
:表示只有正数。
score double(4, 1)
:单精度,4表示长度,1表示小数位数。
2、字符串类型: CHAR(0-255), VARCHAR(0-65535),
TINYBLOB(0-255)不超过255个字符的二进制数据,TINYTEXT(0-255)短文本字符串
BLOB:(0-65535)二进制形式的长文本数据。
TEXT(0-65535)长文本数据,。
3、日期事件类型
date--------YYYY-MM-DD:日期值
time--------HH:MM:SS:时间值或连续时间
year--------YYYY:年份值
datetime—YYYY-MM-DD HH:MM:SS:混合日期和时间值
修改表的操作(用得少)
1、添加字段
alter table 表名 add 字段名 类型(长度)[comment 注释] [约束];
2、修改字段
修改数据类型alter table 表名 modify 字段名 新数据类型(长度);
修改字段名和字段类型alter table 表明 change 旧字段名 新字段名 类型(长度)[comment 注释] [约束];
例:将emp表的nickname字段修改为username,类型为varchar(30)
alter table emp change nickname username varchar(30) comment '昵称';
3、删除字段
alter table 表名 drop 字段名;
4、修改表名
ALTER TABLE 表名 RENAME TO 新表名
5、删除表
DROP TABLE [IF EXISTS] 表名;
删除表,并重新创建该表:
TRUNCATE TABLE 表名;
DML数据操作语言
添加数据
指定字段添加:
INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...);
全部字段:
INSERT INTO 表名 VALUES (值1, 值2, ...);
批量添加数据:
INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...);
INSERT INTO 表名 VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...);
注意事项
- 字符串和日期类型数据应该包含在引号中
- 插入的数据大小应该在字段的规定范围内
更新和删除数据
修改数据:
UPDATE 表名 SET 字段名1 = 值1, 字段名2 = 值2, ... [ WHERE 条件 ];
例:
UPDATE emp SET name = 'Jack' WHERE id = 1;
删除数据
DELETE FROM 表名 [ WHERE 条件 ];