通过sql语句对MySql数据库的基本操作

一、数据库的基本操作

1    CREATE DATABASE  mybookstore;
2      DROP DATABASE  mybookstore;

二、表的基本操作

  1、创建表

      insert into 表名(字段名1,字段名2) values(值1,值2);

1    CREATE TABLE student(
2          id INT,
3          `name` VARCHAR(50)
4     );

  2、删除表

      delete from 表名 where语句;

    DROP TABLE student;

  3、修改表

      update 表名 set 字段名1=字段值,字段名2=字段值 where语句

    update dept set dept_name=‘人事部门‘ where id=4

  4、查询表

      select 字段名1,字段名2 from 表名 where语句

    SELECT * FROM stu WHERE id=3;

三、表查询关键字

  1、关键字使用及SQL语句顺序

      select 列名1,列名2...

      from 表1

      join 表2

      on 连接条件

      where 过滤条件

      group by 分组条件1,分组条件2

      having 聚合函数过滤

      order by 排序列1,排序列2

      limit 分页

  2、执行顺序:from—>on—>join—>where—>group by—>with—>having—>select—>distinct—>order by —>limit

四、约束

  1、主键[primary key ]:可以唯一的表示一行数据,可以快捷的检索到一条数据!(唯一、非空、可以被引用)

  2、自增:auto_increment:自增仅仅适用于数值类型的值!

  3、非空:not null :表示当前字段值不能为null

  4、唯一:unique:表示当前字段值必须是唯一的

  5、注意一点:约束必须放在列名类型后面,至于多个约束的顺序无所谓!

  6、外键:

    外键关联指的是将一个表中的列和另一个表的主键进行关联!    

      1)一对一
        经典案例:夫妻

 1 /*一对一:夫妻*/
 2 CREATE TABLE husband(
 3     id INT PRIMARY KEY AUTO_INCREMENT,
 4     `name` VARCHAR(20) NOT NULL
 5 );
 6
 7 INSERT INTO husband VALUES(1,‘张三‘);
 8 INSERT INTO husband VALUES(2,‘王五‘);
 9
10 CREATE TABLE wife(
11     id INT PRIMARY KEY AUTO_INCREMENT,
12     `name` VARCHAR(20) NOT NULL,
13     FOREIGN KEY(id) REFERENCES husband(id)
14 );
15 INSERT INTO wife VALUES(1,‘李四‘);
16 INSERT INTO wife VALUES(2,‘赵六‘);
17 INSERT INTO wife VALUES(1,‘李静‘);   /*由于一对一约束,此行插入失败*/

      2)一对多[多对一]

        通常是在多的一端关联一的主键!通常将外键建在多的一端!

        经典案例:部门表与员工表 dept& emp

 1 /*一对多:员工-部门*/
 2 DROP TABLE dept;
 3 CREATE TABLE dept(
 4     id INT PRIMARY KEY AUTO_INCREMENT,
 5     dept_name VARCHAR(10) NOT NULL UNIQUE
 6 );
 7 INSERT INTO dept VALUES(NULL,‘开发部门‘);
 8
 9 DROP TABLE emp;
10 CREATE TABLE emp(
11     id INT PRIMARY KEY AUTO_INCREMENT,
12     `name` VARCHAR(30) NOT NULL UNIQUE,
13     dept_id INT ,
14     FOREIGN KEY(dept_id) REFERENCES dept(id)
15 );
16 INSERT INTO emp VALUES(NULL,‘张三‘,1);
17 INSERT INTO emp VALUES(NULL,‘李四‘,1);
18 INSERT INTO emp VALUES(NULL,‘王五‘,1);

      3)多对多

        经典案例:教师 学生

 1 /*多对多:教师-学生*/
 2  CREATE TABLE teacher(
 3     id INT PRIMARY KEY AUTO_INCREMENT,
 4     `name` VARCHAR(20) NOT NULL
 5  );
 6 INSERT INTO teacher VALUES(NULL,‘李老师‘);
 7 INSERT INTO teacher VALUES(NULL,‘刘老师‘);
 8 INSERT INTO teacher VALUES(NULL,‘王老师‘);
 9
10  CREATE TABLE student(
11     id INT PRIMARY KEY AUTO_INCREMENT,
12     `name` VARCHAR(20) NOT NULL
13  );
14 INSERT INTO student VALUES(NULL,‘严涛‘);
15 INSERT INTO student VALUES(NULL,‘杨涛‘);
16 INSERT INTO student VALUES(NULL,‘邹梦洁‘);
17
18  CREATE TABLE tea_stu(
19     tea_id INT,
20     stu_id INT,
21     FOREIGN KEY(tea_id) REFERENCES teacher(id),
22     FOREIGN KEY(stu_id) REFERENCES student(id)
23  );
24 INSERT INTO tea_stu VALUES(1,1);
25 INSERT INTO tea_stu VALUES(1,2);
26 INSERT INTO tea_stu VALUES(1,3);
27 INSERT INTO tea_stu VALUES(2,1);
28 INSERT INTO tea_stu VALUES(2,1);
时间: 2024-08-26 19:17:27

通过sql语句对MySql数据库的基本操作的相关文章

2.MySQL用户管理,常用SQL语句,MySQL数据库备份与恢复

[toc] MySQL用户管理,重用SQL语句,MySQL数据库备份与恢复 一.MySQL用户管理 1.创建一个普通用户并授权 首先启动mysql,然后进入 [[email protected] ~]# /etc/init.d/mysqld start Starting MySQL... SUCCESS! [[email protected] ~]# mysql -uroot -pxavilinux Warning: Using a password on the command line in

Linux centosVMware mysql用户管理、常用sql语句、mysql数据库备份恢复

一.mysql用户管理 grant all on *.* to 'user1'@'127.0.0.1' identified by 'mimA123'; 创建user1用户 使用user1登录 /usr/local/mysql/bin/mysql -uuser1 -pmimA123 -h127.0.0.1 变为localhost,不加-h也能登录 mysql> grant all on *.* to 'user1'@'localhost' identified by 'mimA123'; [[e

sql语句(Mysql数据库)

Mysql数据库的sql语句: 一.基本操作 1.连接数据库 mysql -uroot -proot -hlocalhost -P3306 (-u表示用户名,-p密码,-h主机,-P端口号) 2.选择和使用数据库 查看数据库列表: SHOW DATABASES; 选择数据库: USE 数据库名; 3.查看数据库中的所有表 SHOW TABLES; 4.查看表结构: 方式一:SHOW COLUMNS FROM 表名; 方式二:DESCRIBE(DESC) 表名; 5.SHOW STATUS ,显示

mysql用户管理、常用sql语句、mysql数据库备份恢复

mysql用户管理 1.新增用户user1,并设置密码为123456 mysql> grant all on *.* to 'user1'@'127.0.0.1' identified by '123456'; #创建user1用户并授予其所有权限"*.*"(通配符) #第一个*:表示所有的数据库 #第二个*:表示所有的表 #127.0.0.1表示来源IP,指的只有这个IP可以连接:'%':代表所有的ip #identified by 设置密码 2.对user1用户进行授权管理

MySQL创建用户以及授权、常用的sql语句、MySQL数据库的备份与恢复

MySQL创建用户以及授权 常用的sql语句 MySQL数据库的备份与恢复 对于大数据的备份请查阅资料 原文地址:http://blog.51cto.com/13515599/2090425

MySQL常用操作(2)MySQL用户管理、常用sql语句、 MySQL数据库备份恢复

                MySQL用户管理 创建一个普通用户并且授权 1.grant all on *.* to 'user1' identified by 'passwd'; grant all on *.* to 'user1' identified by '123456'; (创建user1用户,all表示所有权限(读.写,增.删.改.查等):*.*,前面的*表示所有的数据库,后面的*表示所有的表:identified by后面跟密码,要用单引号''引起来) grant all o

53.mysql用户管理、常用sql语句、mysql数据库备份恢复

一..mysql用户管理 grant all on *.* to 'user1'@'127.0.0.1' identified by 'passwd'; //创建以127.0.0.1访问的用户user1,密码为passwd,对所有库的所有表拥有所有权限 grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.127.1' identified by 'passwd'; //创建以192.168.133.1访问的user2用户,密码为pass

SQL语句,mysql数据库

sql语句,把一张表里的数据,和特定数据(固定常量)新插入另一张表 insert into wm_jobpoint_allstatus(CODE,pointstatus,housestatus,roomstatus,workstatus) select code,0,1,1,1 from wm_jobpoint INSERT INTO wm_department(departmentcode,departmentname,provincecode,citycode,countycode,long

sql语句查看mysql数据库大小

1.查看mysql数据库大小SELECT sum(DATA_LENGTH)+sum(INDEX_LENGTH)FROM information_schema.TABLES where TABLE_SCHEMA='数据库名';得到的结果是以字节为单位,除1024为K,除1048576(=1024*1024)为M. 2.查看表的最后mysql修改时间select TABLE_NAME,UPDATE_TIME from INFORMATION_SCHEMA.tables where TABLE_SCH