MySQL学习总结(一)

写在前面

  1. 首先当然是下载、安装、配置、添加环境变量;
  2. 上述步骤中请注意:
    (1)请记住设置的root用户的登录密码,同时也可以添加新用户;
    (2)请记住配置的MySQL服务器名称;

sql命令

以下一顿操作按顺序执行即可。

  1. 开启/关闭服务:
    net start mysql80
    net stop mysql80
    其中,mysql80 是安装过程中设置的服务名称。
  2. 进入sql命令行:
    方式一:打开MySQL Command Line Client,输入root用户密码即可登录;
    方式二:打开cmd,输入mysql -u root -p,在输入root用户密码即可登录;
  3. 查看存储引擎:show engines\G
  4. 查看所有数据库:
    show databases; 当前显示的都是系统默认库。
  5. 新创建数据库db_test:
    create database db_test default character set =utf8;
  6. 使用db_test数据库:use db_test;
  7. 查看当前数据库中的所有表:
    show tables; 当前没有数据表
  8. 创建数据表tb_user:
create table tb_user(
id int auto_increment primary key,
name varchar(30) not null,
pwd varchar(30) not null,
time date time);
  1. 查看表tb_user的结构:desc tb_user;
  2. 向表tb_user中插入一条数据:
    insert into tb_user(name,pwd) values ("a","123456");
    id自增,time可以为 NULL。
  3. 向表tb_user中插入多条数据:
insert into tb_user(name,pwd,time) 
values
("b","123456",now()),
("c","123456",now()),
("d","123456",now());

使用 now() 函数获取当前时间。

  1. 查看表tb_user当前的所有数据:
    select * from tb_user;
  2. 删除表tb_user中time为NULL的数据:
    delete from tb_user where time = NULL;
  3. 修改表tb_user中time字段的定义:
    alter table tb_user modify time date not null;
  4. 再次查看表tb_user当前的所有数据:
    select * from tb_user;
    此时 time 类型已从 datetime ( YYYY-MM-DD HH:mm:ss ) 修改为 date ( YYYY-MM-DD )。
  5. 插入多条数据,可指定自增字段id的值:
insert into tb_user(id,name,pwd,time) 
values 
(1,"a","123456",now()),
(10,"e","123456",now());
  1. 再次插入一条数据,不指定自增字段id的值:
insert into tb_user(name,pwd,time) 
values
("f","123456",now());
  1. 再次查看表tb_user当前的所有数据:
    select * from tb_user;
    17中插入数据的 id 字段会从16中指定的id值开始自增。
  2. 再次插入一条数据,指定自增字段id为重复数据:
insert into tb_user(id,name,pwd,time) 
values
(11,"g","123456",now());

插入时会报错:duplicate entry 11 for key PRIMARY. 主键不可以重复!

  1. 修改表tb_user的名称为t_user:
    alter table tb_user rename to t_user;
  2. 为表t_user在字段pwd后增加字段phone:
    alter table t_user add phone char(11) not null after pwd;
  3. 修改表t_user的字段pwd的名称:
    alter table t_user change pwd password varchar(30) not null;
  4. 复制表t_user的结构,但不复制内容:
    create table t_user_copy_1 like t_user;
  5. 复制表t_user的结构,同时复制内容:
    create table t_user_copy_2 as (select * from t_user);
  6. 更新表t_user中id=1的数据的phone值:
    update t_user set phone = "13112345678" where id = 1;
  7. 更新表t_user中id在2~4范围内的数据的phone值:
    update t_user set phone = "13212345678" where id between 2 and 4;
  8. 更新表t_user中id在某个集合中的数据的phone值:
    update t_user set phone = "13312345678" where id in (3, 5, 10);
  9. 更新表t_user中phone以133开头的数据的phone值:
    update t_user set phone = "13412345678" where phone like '133%';
    请注意!like关键字如果不使用 %,则相当于 = 号

持续更新中......

你可能感兴趣的:(MySQL学习总结(一))