Mysql 语句

数据库管理

SQL语言分类

DDL

数据定义语言,用于创建数据库对象,如库、表、索引等

  • create  创建 
    create database/table;  数据库/表 
    create table 表名 (括号内添加类型和字段);
  • drop  删除  
    drop  database/table;  数据库/表

DML

数据操纵语言,用于对表中的数据进行管理

  • insert  插入数据
  • insert into 表名 (字段1 类型,字段2 类型......) values (字段1的值,字段2的值......);
  • insert into 表名 values (字段1的值,字段2的值......);

  • update  更新、修改 表中的数据
  • update  表名  set  字段1=字段1的新值,字段2=字段2的新值  where  条件表达 需要修改旧的数据记录;

  • delete  删除数据
  • 条件删除
    delete from  表名  where  条件表达 需要删除的哪条记录;
  • 删除整个表数据(慎用)
    delete from  表名;

DQL

数据查询语言,用于从数据表中查找符合条件的数据记录

  • select  查询
  • select  字段1,字段2.....  from 表名  where  字段1=值
  • select *(全部字段)  from  表名  where  字段1=值

DCL

数据控制语言,用于设置或更改数据库用户或角色权限

  • alter  修改
  • 修改表名
    alter  table  旧表名  rename  新表名; 
  • 新增 修改表结构
    alter  table  表名  add  字段  类型;

常用的数据类型

类型 解释 举例
int 整型 用于定义整数类型的数据(1、2、3、4、5…)
float 单精度浮点(4字节32位) 准确表示小数点后六位
double 双精度浮点(8字节64位) 小数位更多,更精确
char 固定长度的字符类型

定义字符长度(存的少,会补空格,存的多被截取,高版本报错)

varchar 可变长度的字符类型 定义字符最大长度(存的小,总长度变小,存的大于最大,报错)
text 文本
image 图片
decimal (5 , 2) 总共5个有效长度数字,小数点后面有两位

Mysql 基础语句操作

设置密码、登录数据库

mysqladmin -u root -p password "123"   #给数据库设置密码(后面的回车)
mysql -uroot -p "123"   #直接登录数据库
mysql -u root -p        #登录数据库,输入密码后完成登录

查看数据库结构

show databases;     #查看有多少数据库
use mysql           #进入一个数据库中
show tables;        #查看该数据库中有多少个表

查看数据库结构

desc njzb;  #显示表的结构

查看表的结构前,首先要创建这个表

DDL语句:定义数据中的操作

create —— 创建

create database school;     #创建一个名为school的数据库

create table  ky11 (id int(10) not null,name varchar(40) not null,age int (3) not null,score decimal(5,2) default '0',primary key (id)); 
       
#创建一个名为ky11的表,(定义id不为空,名字不为空,年龄不为空,成绩可为空默认为“0”,主键为id)

create table scholl.ky21 (id int(10) not null); # 在任意库中创建school库中的ky11表

drop —— 删除

drop database school      #删除一个名为school的数据库

drop table ky10           #删除一个ky10的表
drop table nanjing.ky10   #可以在别的数据库中删除指定数据库中的表

DML语句 :管理表中的数据记录

insert —— 插入

insert into ky10 (id,name,age,score) values(1,'zhangsan',18,75);   
#向ky10表中插入字段并对应着字段的值

insert into ky10 values(2,'lisir',18);
#向ky10表中根据结构插入数值,前面字段可省略

insert into ky10 values(3,'wanger',20,67),(4,'mazi',22,90);
#批量添加表中更多数据(前面的字段不写为默认)

update —— 更新

update ky10 set name='guan',age=35 where name='zhanger';
#将字段name为zhanger的,name和age进行修改。

update ky10 set name='peng',age=24 where id>2;
#将id大于2的记录进行修改。

delete —— 删除

delete from ky10 where name='ydq';   #删除ky10表中name为ydq的记录

delete from ky10 where id>4;         #删除ky10表中id大于4的记录

delete from ky10;                    #删除ky10表中所有记录(谨慎操作)

DQL语句:查询数据记录 - select

select —— 查询

select * from ky10;           #查看整个表的所有记录
select id,name from ky10;     #查看整个表中的id,name字段
select id,name from ky10\G;   #友好查看整个表的id,name,
select id,name,score from ky10 where name='machao';    #查看name为machao的id,namescore
select id,name from ky10 where score>80;    #查看分数值大于80分的字段id,name ,
select * from ky10 limit 2;      #查看前二行
select * from ky10 limit 2,3;    #显示第2行后的3行。(不包括第2行)

DCL语句:数据控制语言 - alter

alter —— 修改

alter  table  ky20 rename  yyy;
alter  table  yyy  rename  ky20;

格式:alter table 表名 change 旧列名 新列名 数据类型 【unique key】;

unique key :唯一键(特性:唯一,但可以为空,空值只允许出现一次)

primary key:主键(特性:唯一且非空)

你可能感兴趣的:(mysql,数据库)