学习记录008-数据库常用命令one

sql语句分类:

  dml--数据操纵语句;进行数据的操作,比如数据的删除,数据的添加:insert,delete,update

  dcl--数据控制语句;进行权限控制的,比如设置用户特定的访问数据等

  ddl(database defined language)--定义表和数据库的,数据定义语句:creat,drop,alter;比如建表和建数据库等,其自带commit

  TCL-事务控制语言,比如commit(自动提交)和rollback(回滚)

 

sql语句的注释:

  在进行sql语句的注释,为一个 # 号或者--即为注释;在Mac里面快捷键为:command+?即可

 

在数据库里面建表的存取数据的类型:

原则:选择合适的数据类型

  整形:表示寸数据的类型大小

    tinyint

    smallint

    int:不需要加长度

    bigint    

  浮点型

    floot:不需要加长度

    double

  字符串

    char:有定长

    varchar:是变长,即使定义,但是存多少还可以变化就是多少大小

    text:长文本类型

  日期类型

    date:年月日

    datetime:年月日时分秒

    timestamp:时间戳

 

建表的时候的约束:

  1 主键约束:值需要是唯一的,不可为空 primary key

  2 外键约束:foreign key

    现在有两张表,一张存储学员信息,一张存储学生成绩,这两张表有联系,学生id在学生表里面是主键,那么在学生成绩表里面和学生表有关联的键就为外键

  3 唯一约束:字段不能重复但是可以为空  unique

  4 非空约束:字段不能为空  not null

  5 默认值约束:有一个默认值  default

  6 自增长: 每条数据自己自动增长  auto_increment

 

关于每条sql语句最后的“;”

  在写每一条sql语句的时候一般以分号结尾,如果没写且后面没有sql语句的话,那么可以正常执行,那如果没有写分号且后面还有sql语句,那么就会连接执行

 

sql语句:

1 建数据库

【create database 表的名字 charset utf8;】        添加charset utf8的目的是为了防止中文乱码

2 删除数据库

【drop database 库名字;】

3 在没有可视化工具的情况下,操作切换数据库的命令

【use 库名字;】

4 看当前有哪些数据库

【show DATABASES;】

5 建表:针对表的字段的要求之间要以逗号分隔

CREATE table gdd_stu(
    id int primary key auto_increment,    字段:id  数据类型为整形  主键约束唯一且不可为空

    sex smallint default 0,               字段:sex  数据类型为smallint 默认0为一个类型

    name varchar(20) not null,            字段:name  数据类型为字符串  不可为空

    phone varchar(11) not null unique,    字段:phone  数据类型为字符串  字段可以为空但是不可重复

    addr varchar(30),                     字段:addr   数据类型为字符串 

    key (name)                              定义索引:把名字写入括号内,可进行指定索引的查找
);

create table gdd_score(
id int primary key auto_increment,        字段:id 数据类型为整形  是这个表的主键唯一且不可为空

score float not null,                     字段:score 数据类型为浮点型  不可为空

sid int not null                          这是针对这个表的外键,是查找学生表的关联字段

);

6 给表新添字段,添加字段为表最后字段

【alter table gdd_stu add 新加字段名  int not null;】

7 删除表字段

【alter table 表名 drop 字段名;】

8 修改字段的约束

【alter table gdd_stu change name new_name varchar(40) not null;】   change可进行修改字段名字

【alter table gdd_stu modify phone varchar (15);】     modify不可进行字段名字的修改

9 删除表

【drop table 表名;】

10 清空表的数据

【truncate table 表名;】

11 看表结构

【desc 表名;】

12 在没有可视化工具的时候查看表的结构语句是怎么写的

【show create table 表名;】

13 查看当前库里面都有哪些表

【show tables;】

14 insert插入数据的方法

第一种:有多少字段都要写入数据的方法

【insert into gdd_stu values ('',1,'guodengdeng','18611113088','北京');】

第二种:指定插入字段的即可

【insert into gdd_stu (new_name,phone) values ("hanmeimei","18667876786")】

15 在当前数据库下操作copy当前书库库里面的表

【create table 新表名 like 想要copy的表;】

16 copy非当前数据库下的表

【create table 新表名 like 对应数据库.库里的表名;】

17 统一修改字段的数据

【update gdd_stu set addr="上海",name="baibai";】   那么字段addr和name下的所有数据都为上海和baibai

18 指定特定条件进行字段内容的修改

【update gdd_stu set addr="上海",new_name="baibai" where id=2;】

19 删除全部数据

【delete from 表名;】 

20 删除表里面特定的数据

【delete from gdd_stul where id=2;】

21 删除表里面数据的方式有两个,一个是20还有一个是10,区别是什么?

  假如id自生长,如果使用delete,那么即使数据删除,id会延续之前删除的数据id进行自生长

  那如果使用truncate,数据删除就是删除了,下次的id计算就会从 1 开始

 

posted on 2019-07-23 21:27  郭等等  阅读(173)  评论(0编辑  收藏  举报

导航