1.基本语法
结构创建
create 结构类型 结构名 结构描述
显示结构
语句的结束符有
; 普通结束符
/g 等同于分号
/G主要用于查看 以立体显示(纵向)
例如show table 1/G
#显示结构
show 结构类型(复数);
#显示结构创建详情
#显示的有系统默认的或者自己定义的选项
show create 结构类型 结构名;
数据库操作
#新增数据
insert into 表明 valuse;
#查看数据
select from 表名;
#更新数据
update 表名 set
#删除数据
delete from 表名
#一,库操作
1.创建数据库
1.创建一个指定名字的数据库
create database db_1;
2.创建一个指定字符集的数据库
create database db_2 charset utf8MB4;
3.创建一个指定校对集的数据库(依赖于字符集)
create database db_3 charset utf8MB4 collate utf8mb4_general_ci;(内部的)
2.查看数据库
1.显示所有数据库
show databases;
2.显示数据库创建指令
show create database db_1;
3.修改数据库
概念
修改数据库:修改数据库的相关选项
1.数据库名不可以修改(老版本可以)
(一般不修改数据库而是删除后新增)
- 先新增
- 后迁移
- 最后删除
2.数据库修改分为两个部分(库选项)
- 字符集
- 校对集
3.数据库修改指令(与创建指令差不多)
alter database 数据库名字 库选项
实例
1.修改数据库字符集
alter database db_2 charset gbk;
2.修改数据库校对集(由于校对集依赖于字符集,所以修改校对集要针对字符集)
alter database db_3 charset gbk collate gbk_chinese_ci;
4.删除数据库
语法
drop database 数据库名字;
二,SQL表(字段)操作
1.创建数据表
- 表与字段不分家
- 表的创建需要指定储存的数据库
明确指定数据库:数据库名.表明
先使用数据库:use 数据库名字
- 字段至少需要指定名字,类型
- 数据库表不限定字段数量
每个字段间使用逗号分隔
-表可以指定选项(都有默认值)
存储引擎: engine[=]具体存储引擎
字符集:[default] charset 具体字符集 (继承数据库)
校对集:collate (继承数据库) - 表创建语法
create table [数据库名.]表名(
字段名 字段类型,
...
字段名 字段类型
)表选项;
1.创建简单的数据表
create table t_1(
name varchar(50)
);
2.创建数据表–表选项
create table t_2(
name varchar(50)
)engine Innodb charset utf8MB4;
2.显示数据表
- 显示数据表的两种方式
显示所有数据表show tables;
显示具体数据表的创建指令show create table t_1;
1.显示部分关联数据表–匹配
show tables like '%like';
’_‘表示匹配一个字符(固定位置 ),’%'表示匹配N个字符
3.查看数据表
查看数据表中的具体结构
通常是查看字段信息
语法有两种
desc 表名;
show columns from 表名;
4。更改数据表
-
修改表名:
rename table 表名 to 新表名
-
修改表选项:
alter table t_1 charset utf8;
5.更改字段
字段操作分为四类 -
新增字段:add [column]
-
更改字段名:change
-
修改类型:modify
-
删除字段:drop
1.新增字段
alter table 表名 add [column] 字段名 字段类型 [字段属性] [字段位置]
字段位置:字段在表里的某个指定字段之后
字端位置分为两种
- 第一个字段:first
- 某个字段后:after 已经存在字段名
位置语法:
alter table 表名 字段操作 字段位置;
1.为t_3增加一个id字段,放到最前面
alter table t_3 add id int first;
2.在t_3的name后增加card
alter table t_3 add card varchar(18) after name;
2.更改字段名(一定要加类型)
alter table 表名 change 原字段名 新字段名 字段类型 [字段属性] [位置]
例如
alter table t_3 change card sfz varchar(18);
3.修改字段
语法:
alter table 表名 modify 字段名 字段类型 [字段属性] [位置];
实例:
alter table t_3 modify sfz char(18) alter id;
4.删除字段
语法:
alter table 表名 drop 字段名;
例如:
alter table t_3 drop age;
#三,SQL数据操作
1.新增数据
- 根据表的字段顺序和数据类型存放
- 数据表中的数据以行(row)为存储单位,实际存储属于字段(field)存储数据
- 数据插入分两种方式
全字段插入:insert into 表名 values (字段列表对应的所有值);
部分字段插入:insert into 表名(字段列表) values(字段列表对应的值顺序列表);
#账户管理
创建账户
create user 'admin'@'192.168.1.1' identified by 'admin123';
删除账户
drop user 'admin'@'192.168.1.1';
主机地址
本地:localhost 使用的是Unix socket这时 mysql server 则会认为该client来自“localhost”
127.0.0.1 使用的时TCP/IP链接 此时mysql server 会认为,该链接来自于127.0.0.1或者"localhost.localdomin"
指定ip
直接输入ip
使用通配符
%代表使用所有的ip登录
#权限管理
- 账号创建只初除了登录时没有任何其他操作权限的
- 账号的管理通常需要配合权限使用
- 赋权