MySQL_study

2019-11-27  本文已影响0人  刘璐_95d7

MySQL

简单命令

--链接数据库(终端)

mysql -u root -p mysql

-- 退出数据库

exit

-- 查看创建数据库

show databases ; # 必须要有s

-- 查看当前正在使用的数据库

select database();  #null指的是空

-- 使用某个数据库

use jingdong;

注意:sql语句最后需要有分号;结尾

-- 显示数据库版本

select version();

-- 显示时间

select now

-- 创建数据库

create database demo;

-- 指定字符集(默认不是utf-8)

create database demo charset = utf-8;

-- 查看数据库的创建语句

show create database demo;

-- 删除数据库

drop database demo;

数据表的操作

创建表

-- 查看当前数据库中的所有表

show tables;

-- 创建表

create table students (字段名 字段类型 字段约束);
create table students (
    id int unsigned primary key auto_increment,
    name varchar(15) not null,
    age tinyint unsigned default 0,
    high decimal(5,2) default 0.0,
    gender enum('男','女','中性','保密') default '保密', 
    cls_id int unsigned not null
);

-- 查看表的创建语句

show create table students;

-- 查看表结构

desc students

-- 查看表内容

select * from classes;

-- 修改表结构 alter add/modify()/change(修改字段名字和类型)

-- 修改表-添加字段

-- alter table 表名 add 列名 类型/约束;
-- 生日信息

alter table students add birthday datetime default "2011-11-11 11:11:11";

-- 修改表-修改字段:不重命名版
-- alter table 表名 modify 列名 类型及约束;

alter table students modify birthday date default "2011-11-11";

-- 修改表-修改字段:重命名版
-- alter table 表名 change 原列名 新列名 类型及约束;

alter table students change birthday birth date default "2011-11-11";

-- 修改表,删除字段

drop table students

数据增删改查(curd)

1、增加insert 的三种方式

1.1 全列插入,值和表的字段顺序一一对应

insert [into] 表名 values (值1,值2,...)

​ 我认为进行插入之前最好看一下目前表的内容和表结构

​ -- 查看表内容

select * from students

​ -- 查看表结构

desc students

全列插入在实际中用的不多 ,一旦表结构发生变化,全列插入就会报错。

[图片上传失败...(image-3b392d-1574822954324)]

# 小括号有且只能有六个值,id是自动递增的,可以不用管它,但是不管并不是说空着不写,可以使用占位符,只有主键字段才有占位符的概念 0,default, NULL
insert into students values (0, '小乔', 18, 188.00, '女', 2);
insert into students values (0,'小乔', 18, 180.00, '女'); # 错误
insert into students values (default,'大乔', 19, 180.00, '女',2);

1.2 指定列插入,值和列一一对应

 insert into 表名 (列1,...) values(值1,...)

[图片上传失败...(image-7c5aba-1574822954324)]

insert into students (name, high, gender) values(“张飞”, 190, "保密")
# 报错了 Field 'cls_id' doesn't have a default value
#  cls_id不能为空,而且我们没有给他加上默认值
insert into students (name, high, gender, cls_id) values(“张飞”, 190, "保密", 1)
上一篇 下一篇

猜你喜欢

热点阅读