MySQL数据库命令行操作
运行 输入 cmd 有的要以管理员身份进入
添加环境变量
https://blog.csdn.net/T8682828/article/details/126424734
登录数据库 mysql -h 主机名 -u 用户名 -p 或者 mysql -u root -p
-h : 该命令用于指定客户端所要登录的MySQL主机名, 登录当前机器该参数可以省略;
-u : 所要登录的用户名;
-p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。
创建数据库 create database 数据库名称;
删除数据库 drop database 数据库名称;
修改数据库的字符集 alter database 数据库名称 character set 字符集名称;(utf8)
查询数据库 show databases;
选择(进入)数据库 use 数据库名称;
查询当前使用的数据库 select database();
查看数据表 show tables;
创建表 CREATE TABLE 表名 (column_name column_type);
插入表数据 insert into 表名 (字段1, 字段2, 字段3 …) values (值1, 值2, 值3, …);
查询表数据 select * from 表名;
修改表数据 update 表名 set name=新值 where
删除表数据 delete from 表名 where;
显示数据表结构 describe 表名; 或者 desc 表名;
删表 drop table if exists 表名;
查询数据库结构 show create database stu;
查询表结构 show create table 表名;
复制表的结构 CREATE TABLE 表名 LIKE 要复制的表名;
复制表的结构+数据 create table 表名 select 查询列表 from 旧表 [where 筛选条件];
————————————————
实例:
创建数据库 create database huweisjk;
(成功了有Query OK 有显示。)
选择(进入)数据库 use huweisjk;
查询当前使用的数据库 select database();
创建表 create table MyClass(id int(4) not null primary key auto_increment,name char(20) not null,sex int(4) not null default ‘0’,degree double(16,2));
(成功了有Query OK 有显示。 注意符合都英文的 有的复制来的 变成中文符号)
插入数据 insert into MyClass values(1,‘Tom’,20,96.45);
(成功了有Query OK 有显示。 注意符合都英文的 有的复制来的 变成中文符号 这个插入语句没有字段名称 直接用的数值)
查询表数据 select * from MyClass;
————————————————
修改表实例
修改表名 alter table 表名 rename to 新表名;
修改表的字符集 alter table 表名 character set 字符集名称;
添加一列 alter table 表名 add 列名 数据类型 [first/after 字段名];
修改列名称 alter table 表名 change 列名 新列名 新数据类型;
修改列类型 alter table 表名 modify 列名 新数据类型;
删除列 alter table 表名 drop 列名;
————————————————
字段数据类型
数值型
整形
tinyint 1字节、smallint 2、mediumint 3、int/integer 4、bigint 8
特点:

  1. 都可以设置无符号和有符号, 默认有符号, 通过unsigned设置无符号
  2. 如果超出了范围, 会报out of range异常, 插入临界值
  3. 长度可以不指定, 默认会有一个长度
    长度代表显示的最大宽度, 如果不够则左边用0填充, 但需要搭配zerofill, 并且默认变为无符号整形
    浮点数
    定点数: decimal(M,D)
    浮点数:
    float(M,D) 4
    double(M, D) 8
    特点:
  4. M代表整数部位+小数部位的个数, D代表小数部位
  5. 如果超出范围, 则报 out of range异常, 并且插入临界值
  6. M和D都可以省略, 但对于定点数, M默认为10, D默认为0
  7. 如果精度要求较高, 则优先考虑使用定点数
    字符型
    char varchar binary varbinary enum set text blob
    char: 固定长度的字符, 写法为char(M), 最大长度不能超过M, 其中M可以省略, 默认为1
    varchar: 可变长度的字符, 写法为varchar(M), 最大长度不能超过M, 其中不可以省略
    日期型
    year 年
    date 日期
    time 时间
    datetime 日期+时间
    timestamp 日期+时间 会受时区,语法模式,版本的影响, 更能反映当前时区的真实时间
    文本: tinytext、text、mediumtext、longtext
    二进制(可用来存储图片、音乐等): tinyblob、blob、mediumblob、longblob
    ————————————————
    表约束
    not null :非空
    unique :唯一
    default :为该属性设置默认值
    primary key:主键,可以唯一的标识对应的元组
    foreign key : 外键,是与之联系的某表的主键
    auto_increment :标识该属性的值自动增加(MySQL 特有)
    ————————————————
    修改表
    修改表名:alter table 旧表名 rename [to] 新表名;
    修改字段的数据类型:alter table 表名 modify 属性名 数据类型;
    修改字段名(和字段数据类型):alter table 表名 change 旧属性名 新属性名 新数据类型;
    增加字段:alter table 表名 add 属性名 1 数据类型 [完整性约束条件] [first | after属性名 2];
    删除字段:alter table 表名 drop 属性名;
    删除表的外键约束: alter table 表名 drop foreign key 外键别名;
    注:1、CHANGE 如果不改变字段名,只修改字段类型,CHAGE 后面必须跟两个同样的字段名。
    2、修改字段的数据结构就使用 MODIFY,如果要修改字段名+数据结构 就使用 CHANGE。
    ————————————————
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐