SQL命令

数据库:

CREATE DATABASE [IF NOT EXIST] *<数据库名称>;

USE *<数据库名称>;

DROP DATABASE [IF EXIST]* <数据库名称>;

SHOW DATABASE; SHOW DATABASE LIKE 'mytest';

表:

创建表

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;

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;

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;*//从其他表拿出来插入当前表,按顺序对应字段插入(数目类型一致即可,不要求字段一致)

REPLACE(替换主键重复的行数据)

列:

REPLCAE INTO mytest.student
VALUES(1320,'李方','1',26,'会计专业','137????');//id 重复

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

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;
posted @ 2018-08-21 21:24  仁兄啊  阅读(268)  评论(0编辑  收藏  举报