########################## 今天来说一下MySQL数据库的一些基本操作 ########################## 1.创建数据库 create database db1; //db1是数据库名 2.查看当前存在的数据库 show database db1; 3.查看数据库定义 show create database db1; 4.选择数据库 use db1; 5.删除数据库 drop database db1; 6.创建表(一个表描述的是一件事情) create table 表名 ( 列名 数据类型 [约束], ... ); 列名:命名规则同Java;数据类型:参见列表;约束:约束的是值,分为主键约束、外键约束、非空约束、唯一约束、默认约束 1)主键约束:要求主键列的数据是唯一,且不允许为空。 单字段主键:字段名 数据类型 primary key 多字段联合主键:primary key [字段1,...,字段n] 2)外键约束:用来在两个表之间建立连接。 格式:constraint 外键名 foreign key 字段名 references 主表名(主键列) 1 CREATE TABLE classinfo
2 (
3 classid INT PRIMARY KEY,
4 classname VARCHAR(6)
5 );
6 CREATE TABLE stuinfo
7 (
8 stuid INT PRIMARY KEY,
9 stuname VARCHAR(6),
10 stusex CHAR(1),
11 classid INT,
12 ##添加外键
13 FOREIGN KEY(classid) REFERENCES classinfo(classid)
14 );
15 COMMIT;
16 ROLLBACK;
3)非空约束:指字段值不能为空。 格式:字段名 数据类型 not null 4)唯一约束:要求该列值唯一,允许为空,但只能出现一个空值。 格式:字段名 数据类型 unique 5)默认约束:指定某列的默认值。 格式:字段名 数据类型 default 默认值 6)设置表的属性值自增:一个表只能有一个字段使用自增约束,且该字段必须为主键的一部分。 格式:字段名 数据类型 auto_increment 1 CREATE TABLE students
2 (
3 stu_no INT PRIMARY KEY AUTO_INCREMENT, ##标识列 incremeny
4 stu_name VARCHAR(4) NOT NULL,
5 stu_sex CHAR(1) CHECK(stu_sex='男'OR stu_sex='女'),
6 stu_age INTEGER,
7 stu_phone VARCHAR(11) UNIQUE NOT NULL,
8 stu_bri DATE
9 );
7.创建临时表 create temporary table a (); 8.查看表基本结构语句 describe 表名 / desc 表名 查看表的详细结构语句:show create table \G 表名 9.修改表名 alter table 旧表名 rename 新表名; 10.修改字段的数据类型 alter table 表名 modify 字段名 数据类型 11.修改字段名 alter table 表名 change 旧字段名 新字段名 新数据类型; 12.修改表语句 alter table 表名 add 新字段名 数据类型 [约束条件] [first | after 已存在字段名]; alter table 表名 drop 字段名; 13.修改字段的排列位置 alter table 表名 modify 字段1 数据类型 first | after 字段名2; 14.更改表的存储引擎 alter table 表名 engine=更改后的存储引擎名; 15.删除表的外键约束 alter table 表名 drop foreign key 外键约束名; 16.删除表 drop table 表名; 17.插入数据 #单行插入:INSERT INTO 表名 (列字段列表) VALUES(值内容列表);
#1.按照列字段顺序插入
INSERT INTO students(stu_no,stu_sex,stu_name,stu_age)VALUES(NULL,'女','李四',23);
#2.按照物理顺序插入
INSERT INTO students VALUES(3,'王五','男',22);
#3.插入部分列的数据,其他列必须允许为空
INSERT INTO students(stu_name,stu_phone) VALUES('马六','13477778888');
#多行插入:注意标识列不支持
INSERT INTO 表名 (列字段列表) VALUES(),...,();
INSERT INTO 表名 (列字段列表) SELECT 值内容列表 FROM 表名 WHERE 条件;
18.更新数据 1 UPDATE 表名 SET 列名 = 值 , ....列名 = 值 WHERE 条件;
2 例:UPDATE students SET stu_age=21 ,stu_bri='1997-09-11' WHERE stu_no=6;
19.删除数据 1 DELETE FROM 表名 WHERE 条件;
2 例:DELETE FROM students WHERE stu_no>3;
20.表的复制 1 #1.创建表复制
2 CREATE TABLE 新表 AS SELECT 列 FROM 旧表 [WHERE 条件];
3 CREATE TABLE new_user AS SELECT userid,username,useraddress FROM userinfo WHERE userage>30;
4 #2.插入数据时复制
5 INSERT INTO 新表 (列字段) SELECT 列字段 FROM 旧表 [WHERE 条件];
6 INSERT INTO new_user SELECT userid,username,useraddress FROM userinfo ;
|
|