MySQL基础
一.mysql的启动和停止
windows下,CMD内输入:
net start mysql80 --启动MySQL服务
net stop mysql80 --停止MySQL服务
mysql -u root -p; --以root身份登陆MySQL
注意:如果安装目录不是默认情况,需要更改系统的环境变量。
二、 通用语法及操作
1.DDL数据定义语言
用来定义数据库对象(数据库、表、字段)
1.1新建数据库
CREATE DATABASE [ IF NOT EXISTS ] 数据库名 [ DEFAULT CHARSET 字符集] [COLLATE 排序规则 ];
例:
create database stu default charset utf8mb4;
--创建名为stu的数据库,并指定默认字符类型为utf8mb4。
1.2使用数据库
use stu ; --创建名为stu的数据库。
1.3查询
查询所有数据库
show databases;
查询当前数据库
select database();
1.4删除数据库
drop database stu; --删除数据库
1.5表操作
创建表
基本语法:
CREATE TABLE 表名(
字段1 字段1类型 [COMMENT 字段1注释],
字段2 字段2类型 [COMMENT 字段2注释],
字段3 字段3类型 [COMMENT 字段3注释],
...
字段n 字段n类型 [COMMENT 字段n注释]
)[ COMMENT 表注释 ];
例:
create table sbasic
(
id int comment'序号',
name varchar(10) comment'姓名',
age int comment '年龄',
gender varchar(1) comment'性别'
);
--创建名为sbasic的表,字段分别有序号、姓名、年龄、性别四个字段,并为四个字段指定相应的字符类型。
查询当前数据库所有表:
show tables;
查询表结构:
desc sbasic;
查询指定表的建表语句:
show create table sbasic;
添加字段:
语法:
ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];
例:
alter table sbasic add grade varchar(10) comment'年级';
修改数据类型:
语法:
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
例:
alter table sbasic modfiy grade varchar(20); --修改“年级”字段的字符类型为20个字节长度。
修改字段名和字段类型:
语法:
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];
例:将sbasic表的name字段修改为stuname,类型为varchar(5)
alter table sbasic name stuname varchar(5) comment'学生姓名';
删除字段:
语法:
ALTER TABLE 表名 DROP 字段名;
例:
alter table sbasic drop grade; --删除grade字段。
修改表名:
语法:
ALTER TABLE 表名 RENAME TO 新表名
例:
alter table sbasic rename to stubasic; --修改表名为stubasic。
删除表:
语法:
DROP TABLE [IF EXISTS] 表名;
例:
drop table stubasic;
删除表,并重新创建该表:
语法:
TRUNCATE TABLE 表名;
例:
turncate table stubasic; --删除表重新新建stubasic表,类似于清空所有数据。
2.DML数据操作语言
对数据库表中的数据进行增删改操作
2.1 添加数据
指定字段:
INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...);
全部字段:
INSERT INTO 表名 VALUES (值1, 值2, ...);
例:
insert into stubasic (id,name,age,gender) values (1,'刘昊然',16,'男');
或者
insert into stubasic (2,'黄渤',18,'男');
批量添加数据:
INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...);
INSERT INTO 表名 VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...);
注意:
- 字符串和日期类型数据应该包含在引号中
- 插入的数据大小应该在字段的规定范围内
2.2更新数据
修改数据:
UPDATE 表名 SET 字段名1 = 值1, 字段名2 = 值2, ... [ WHERE 条件 ];
例:
update stubasic set name = '张艺兴' WHERE id = 1;
2.3删除数据
DELETE FROM 表名 [ WHERE 条件 ];
例:
delete from stubasic;
注意:
如果没有条件,会删除整张表的所有数据;
delete 语句不能删除某个字段的值,如果更改某个字段的值,可以使用update。
3.DQL数据查询语言
查询数据库中表的记录
4.DCL数据控制语言
创建数据库用户、控制数据库的权限