数据库(mysql)基础

管理员界面控制mysql

在这里插入图片描述

创建数据库

create database 数据库名;
use  数据库名;//创建并使用数据库
 create table 表名(
   列名1 数据类型 约束;
   列名2 数据类型 约束;
   列名3 数据类型 约束
)                     //创建数据表

数据库没有保存

主键约束

  • 在创建表时创建逐渐,在字段后面加上 primary key
 create table tablename(
 id int primary key,
 .....
 )
  • 在穿件表时创建主键,在表穿件的最后来指定主键
create  table   tablename(
   id int,
   ..........,
   primary key( id)
)
  • 将编号列,设置为主键约束,保证列的数据唯一性和非空性
    primary key auto_increment
    让主键列数据,实现自动增长
CREATE DATABASE mybase;
USE mybase;
CREATE TABLE users(
    uid INT PRIMARY KEY AUTO_INCREMENT ,
    uname VARCHAR(20),
    uaddress VARCHAR(200)

);

trunctate 清空表
格式:
truncate 表名;重新创建一张空表
和 delete from 区别
delete 属于 DML语句 truncate属于DDL语句
delete 逐条删除 truncate 创建一张空表

auto-increment 自增
要求:
1.被修饰的字段类型支持自增 一般int
2.被修饰的字段必须是一个key 一般是primary key

格式:
truncate 表名;重新创建一张空表
和 delete from 区别
delete 属于 DML语句 truncate属于DDL语句
delete 逐条删除 truncate 创建一张空表
auto-increment 自增
要求:
1.被修饰的字段类型支持自增 一般int
2.被修饰的字段必须是一个key 一般是primary key

格式:
truncate 表名;重新创建一张空表
和 delete from 区别
delete 属于 DML语句 truncate属于DDL语句
delete 逐条删除 truncate 创建一张空表
auto-increment 自增
要求:
1.被修饰的字段类型支持自增 一般int
2.被修饰的字段必须是一个key 一般是primary key

  • 删除主键
alter table 表名 drop primary key;
  • 创建分类
CREATE TABLE sort(
        sid INT PRIMARY KEY auto_increment,    #分类 ID
        sname VARCHAR(100)    #分类名称

);
  • 查看表
show  tables;
  • 查看表结构
desc 表名
  • 删除表
drop  table 表名;
  • 修改表结构格式
alter  table 表名 add  列名 类型(长度)  约束; 
 
 例: 修改表添加列 
 新添加的字段为 varchar(20)
 ALTER TABLE sort ADD sdesc VARCHAR(20);
 
  • alter table 表名 modify 列名 类型(长度) 约束;
       例:
       修改表修改列的类型长度及约束.
为分类表的分类名称字段进行修改,类型varchar(50)    添加约束    not null

      ALTER TABLE sort MODIFY sname VARCHAR(50) NOT NULL;
  • alter table 表名 drop 列名;
 例:修改表删除列.
 删除分类表中snamename这列
 
ALTER TABLE sort DROP snamename;
  • rename table 表名 to 新表名;
例:修改表名
 为分类表sort 改名成 category
 
RENAME TABLE sort TO category;

  • alter table 表名 character set 字符集;
例:修改表的字符集 
为分类表 category 的编码表进行修改,修改成 gbk

ALTER TABLE category CHARACTER SET gbk;

插入表记录

insert into 表 (列名1,列名2,列名3..)values(值1,值2,值3...);向表中插入某些列

insert into 表 values (值1,值2,值3...);向表中插入所以列
  • 插入的数据英语字段的数据类型相同。
    数据的大小应该在列的长度范围内。
    在values中罗列出的数据位置必须与加入列的排列位置对应。
    吃了数值类型外,其他的字段类型的值必须使用引号引起。
    如果要插入空值,可以不写字段,或者插入null。
    对于自动增长的列在操作是,直接插入null值即可。
INSERT INTO sort(sid,sname) VALUES('s001', '电器');
INSERT INTO sort(sid,sname) VALUES('s002', '服饰');
INSERT INTO sort VALUES('s003', '化妆品');
INSERT INTO sort VALUES('s004','书籍');

更新表记录

update 表名 set 字段名=值,字段名=值;

update 表名 set 字段名=值,字段名=值 where 条件;
  • 列名的类型与修改的值要一致
    修改值的时候不能超过最大长度
    值如果是字符串或者日期需要加‘ ’。
例1: 
    将指定的sname字段中的值 修改成 日用品
UPDATE sort SET sname='日用品';
 例2:
    将sid为s002的记录中的sname改成 日用品
UPDATE sort SET sname='日用品' WHERE sid='s002';
UPDATE sort SET sname='日用品' WHERE sid='s003';

删除记录

delete from 表名 [where 条件];
或者
truncate table 表名;
  • 删除表中所有记录使用delete from 表名; 还是用truncate table 表名;
    删除方式:delete 一条一条删除,不清空auto_increment记录数。
    truncate 直接将表删除,重新建表,auto_increment将置为零,从新开始。
例:

DELETE FROM sort WHERE sname='日用品';
#表数据清空
DELETE FROM sort;

查询

  • 查询指定字段的信息
select 字段1,字段2.....from 表名;

例:
select id,name from zhuangwu;
  • 查询表中所有字段
    select * from 表名;
  • distinct 用于去除重复记录
    select distinct 字段 from 表名;
  • 别名查询,使用的as关键字,as可以省略
    别名可以给表中的字段,表 设置别名。当查询语句复杂时,使用别名极大程度的简化了
    表别名格式:
    select * from 表名 as 别名;
    列别名格式:
    select 字段名 as 别名 from 表名;
  • 在sql语句的操作里,可以直接对列进行运算
    将所有账务的金额+1000进行显示
    select pnane,price+10000 from product;
  • where语句表条件过滤,满足条件操作,不满足不操作,多用于数据的查询与修改。
    格式:
    select 字段 from 表名 where 条件;
  • while条件的种类:
    比较运算符,逻辑运算符。
例:
1.查询出金额大于1000的信息
     SELECT * FROM zhangwu WHERE money >1000;
2.查询出金额在2000-5000之间的账务信息
      SELECT * FROM zhangwu WHERE money >=2000 AND money <=5000;
或
SELECT * FROM zhangwu WHERE money BETWEEN 2000 AND 5000;
3.查询出金额是1000或5000或3500的商品信息
   SELECT * FROM zhangwu WHERE money =1000 OR money =5000 OR money =3500;
或
SELECT * FROM zhangwu WHERE money IN(1000,5000,3500);
4.查询出账务名称包含”支出”的账务信息。
SELECT * FROM zhangwu WHERE name LIKE "%支出%";

5.查询出账务名称中是无五个字的账务信息
SELECT * FROM gjp_ledger WHERE ldesc LIKE "_____"; -- 五个下划线_

6.查询出账务名称不为null账务信息
SELECT * FROM zhangwu WHERE name IS NOT NULL;
SELECT * FROM zhangwu WHERE NOT (name IS NULL);
      
发布了43 篇原创文章 · 获赞 6 · 访问量 1555

猜你喜欢

转载自blog.csdn.net/weixin_43729631/article/details/88767969