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

MySQL数据库基本操作

程序员文章站 2022-07-03 18:43:22
########################## 今天来说一下MySQL数据库的一些基本操作 ########################## 1.创建数据库 create database db1; //db1是数据库名 2.查看当前存在的数据库 show database db1; 3. ......

##########################

今天来说一下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 ;