数据库:
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;