操作数据库和表

1. SQL 基础内容

1.1. 语句

  1. 以 ; (分号结尾)

show databases; # 查看所有数据库

  1. sql 语言 不区分大小写 建议关键字大写;
  2. 注释符号; -- 单行注释 # 单行注释 /* 多行注释 */

1.2. 按功能分类

  1. DDL 数据定义语言(操作创建表)
  2. DML 数据操作语言(表中数据 增删改查)
  3. DQL 数据查询语言(查询表中数据)
  4. DCL 数据控制语言(权限控制)

1.3. 操作数据库

show databases; # 查看数据库

show create database mysql; # 查看数据库字符集

show charset; # 查看支持的字符集
  1. 创建数据库
# 直接创建数据库 db1 如果存在会报错
create database db1;
# 创建 db1 时判断是否存在 不存在就创建  不会报错
create database if not exists db1;
# 创建时指定字符集
create database if not exists db2 character set utf8;
  1. 局部修改字符集
alter database 库名 default character set 字符集;

alter table 表名 convert to character set 字符集;

alter table 表名 modify 字段名 字段属性 character set gbk;
  1. 删除数据库
drop database db1;

drop database if exists db1;
  1. 全局修改字符集
/*建立连接使用的编码*/
set character_set_connection=utf8;
/*数据库的编码*/
set character_set_database=utf8;
/*结果集的编码*/
set character_set_results=utf8;
/*数据库服务器的编码*/
set character_set_server=utf8;
  1. 数据库其他操作
select database(); # 查看当前使用的数据库

use databasename; # 进入某个数据库

1.4. 操作表

  1. 查看表
show tables; # 查看数据库中所有表

desc tablename; # 查看表结构
  1. 创建表格式
create table tableName(
    field1 type,
    field2 type,
    ......
    fieldn type
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
# 注意 结束行没有逗号 末尾可以指定数据库引擎 字符集
  • sql中常见数据类型
符号 类型 例子 说明
int 整数 age int,
double 小数 length double(5,2), 5 代表总长度 2代表小数点后保留位数
varchar 字符串类型 name varchar(20), 最长为 20个字符 超过了报错 插入失败
date 日期时间 yyyy-MM-dd
datetime 时间 yyyy-MM-dd HH:mm:ss
timestamp 时间戳 yyyy-MM-dd HH:mm:ss 这种类型如果不赋值 会自动填上当前系统时间
  • 创建学生表
create table Student(
    sid int,
    name varchar(20),
    age int,
    score double(4,1),
    birthday date,
    addtime timestamp
);
  1. 删除表
  • 复制表

    create table newtable like oldtable; # 将表复制一份并命名

drop table tablename;

drop table if exists tablename;
  1. 修改表
# 1. 修改表名
alter table oldname rename to newname;

# 2. 修改字符集
alter table tablename character set utf8;

# 3. 添加一列
alter table tablename add colname type;

# 4. 修改一列
alter table tablename change colname newname type;

# 只改变类型
alter table tablename modify colname newtype;

# 5. 删除列名
alter table tablename drop colname;

posted on 2020-12-20 10:05  SNADO  阅读(72)  评论(0)    收藏  举报

导航