欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SQL命令

程序员文章站 2022-06-16 13:11:28
数据库: CREATE DATABASE [IF NOT EXIST] ; USE ; DROP DATABASE [IF EXIST] ; SHOW DATABASE; SHOW DATABASE LIKE 'mytest'; 表: 1) CREATE TABLE students( id INT ......

数据库:

create database [if not exist] <数据库名称>;

use <数据库名称>;

drop database [if exist] <数据库名称>;

show database; show database like 'mytest';

表:

1)
create table students(
id int,not null auto_increment,
name char(50) not null,
sex char(1) not null ,default 0,
contact char(50) null,
primary key(id) //主键组(一列或多列)
) engine=innodb;

2)
alter table <表名> [修改项]
修改项包含:
add column <列名> <类型> //位置after or first <列名>
change column <旧列名> <新列名> <新列类型>
alter column <列名> {set default <默认值> |drop default}
modify column <列名> <类型>
drop column <列名>
rename to <列名>

rename table <表明> to <新表名>;
create table mytest.students_copy like(or as) mytest.students;
drop table student_copy;
show tables;
show column from students; = desc mytest.students;

3)insert value,insert select,insert set
insert into mytest.students
values(1320,'王丽','1',22,'计算机专业','138?????');//按行插入,也可多行插入 ( ),(),以逗号隔开。
or
values(0,'李明',default,22,'数学专业',null);
or
values('李明‘,default,22,’数学专业'); //id,null值可省略,系统自动生成。
or
set name='李明',sex=default,age=22,major='数学专业';//按字段(列)插入
or
(name,sex,age,major)
select name,......
from mytest.student_copy;//从其他表拿出来插入当前表,按顺序对应字段插入(数目类型一致即可,不要求字段一致)

4)replace(替换主键重复的行数据)
replcae into mytest.student
values(1320,'李方','1',26,'会计专业','137????');//id 重复

5) delete from <表名> [where 子句] [order by 子句] [limit子句]

delete from students
where name='王丽';

delete from tb1,tb2,tb3
where tb1.id=tb2.id and tb2.id=tb3.id

truncate table <表名> (先删表,再建表) = delete from 语句不带where

6)update <表名> set 字段=值 | [,字段2=值,...] [where子句] [order by子句] [limit 子句]

update students
set contact='139????',sex='1'
where name='张三';

update tb1,tb2
set tb1.name='李明',tb2.name='王伟'
where tb1.id=tb2.id;