4 SQL语言基础-2

一、数据库管理

1 创建数据库: CREATE DATABASE dataname;

 删除数据库: DROP DATABASE dataname;

 不能重名数据库名

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)

mysql> CREATE DATABASE xxj;
Query OK, 1 row affected (0.00 sec)

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
| xxj                |
+--------------------+
4 rows in set (0.00 sec)

mysql> DROP DATABASE xxj;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)

mysql>

二、数据类型

数据是以表格的形式保存在数据库中

每个列(属性)以特定数据类型保存,常见数据类型如下:

数据类型                                     用途

integer(size),int(size),smalint(size),tinyint(size) #能存储的最大的整数从大到小  存储整数数据

decima(size,d),rumeric(size,d)                                  存储浮点数数据

char(size)                                   存储固定长度字符串

archar(size)                                 存储可变长度字符串

date(yyyymmdd)                                存储日期

三、创建表格

查看当前数据库下的所有表:SHOW TABLES;

通过一下语法创建一个表格:

CREATE TABLE tablename

  (

   列名称1 数据类型,

   列名称2 数据类型,

   列名称3 数据类型,

   、、、

   );

查看表的结构:DESC tablename;

删除表:DROP TABLE tablename;


例: 我们希望创建一个表格lc_course保存课程信息,需要保存课程名称、课程长度、课程讲师、和课    程分类。    #一般会创建一个ID列,来唯一标识一条记录

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)

mysql> USE test;
Database changed
mysql> show tables;
Empty set (0.00 sec)

mysql> CREATE TABLE lc_course;
ERROR 1113 (42000): A table must have at least 1 column
mysql> CREATE TABLE lc_course(
    -> id int(10),
    -> course_name varchar(50),
    -> course_length int,                  #不指定默认是11
    -> teacher varchar(20),
    -> category varchar(50)
    -> );
Query OK, 0 rows affected (0.12 sec)

mysql> SHOW TABLES;                         #查看当前数据库下的所有表
+----------------+
| Tables_in_test |
+----------------+
| lc_course      |
+----------------+
1 row in set (0.00 sec)

mysql> DES lc_course;                       #查看表结构
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘DES lc_course‘ at line 1
mysql> DESd lc_course;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘DESd lc_course‘ at line 1
mysql> DESc lc_course;
+---------------+-------------+------+-----+---------+-------+
| Field         | Type        | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+-------+
| id            | int(10)     | YES  |     | NULL    |       |
| course_name   | varchar(50) | YES  |     | NULL    |       |
| course_length | int(11)     | YES  |     | NULL    |       |
| teacher       | varchar(20) | YES  |     | NULL    |       |
| category      | varchar(50) | YES  |     | NULL    |       |
+---------------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

重命名表名:ALTER TABLE tablename RENAME newtablename;

向表中添加一列:ALTER TABLE tablename ADD 列名 字符类型;

删除表中一列:ALTER TABLE tablename DROP COLUMN 列名;  #好像不写COLUMN也是可以的
修改一个列的数据类型:ALTER TABLES tablename MODIFY 列名(已存在) 数据类型;

重命名一个列:ALTER TABLE course CHANGE COLUMN 旧列名 新列名 数据类型; #COLUMN不写也可以

mysql> ALTER TABLE lc_course RENAME course;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW TABLES;
+----------------+
| Tables_in_test |
+----------------+
| course         |
+----------------+
1 row in set (0.00 sec)

mysql> ALTER TABLE course ADD link varchar(100);
Query OK, 0 rows affected (0.07 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> DESC course_
    -> ;
ERROR 1146 (42S02): Table ‘test.course_‘ doesn‘t exist
mysql> DESC course;
+---------------+--------------+------+-----+---------+-------+
| Field         | Type         | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+-------+
| id            | int(10)      | YES  |     | NULL    |       |
| course_name   | varchar(50)  | YES  |     | NULL    |       |
| course_length | int(11)      | YES  |     | NULL    |       |
| teacher       | varchar(20)  | YES  |     | NULL    |       |
| category      | varchar(50)  | YES  |     | NULL    |       |
| link          | varchar(100) | YES  |     | NULL    |       |
+---------------+--------------+------+-----+---------+-------+
6 rows in set (0.00 sec)

mysql> ALTER TABLE course DROP link;
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> DESC course;
+---------------+-------------+------+-----+---------+-------+
| Field         | Type        | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+-------+
| id            | int(10)     | YES  |     | NULL    |       |
| course_name   | varchar(50) | YES  |     | NULL    |       |
| course_length | int(11)     | YES  |     | NULL    |       |
| teacher       | varchar(20) | YES  |     | NULL    |       |
| category      | varchar(50) | YES  |     | NULL    |       |
+---------------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

mysql> ALTER TABLE cours MODIFY teacher varchar(100);
ERROR 1146 (42S02): Table ‘test.cours‘ doesn‘t exist
mysql> ALTER TABLE course MODIFY teacher varchar(100);
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> DESC course;
+---------------+--------------+------+-----+---------+-------+
| Field         | Type         | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+-------+
| id            | int(10)      | YES  |     | NULL    |       |
| course_name   | varchar(50)  | YES  |     | NULL    |       |
| course_length | int(11)      | YES  |     | NULL    |       |
| teacher       | varchar(100) | YES  |     | NULL    |       |
| category      | varchar(50)  | YES  |     | NULL    |       |
+---------------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

mysql> ALTER TABLE cours MODIFY teacher varchar(100);
ERROR 1146 (42S02): Table ‘test.cours‘ doesn‘t exist
mysql> ALTER TABLE course MODIFY teacher varchar(100);
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> DESC course;
+---------------+--------------+------+-----+---------+-------+
| Field         | Type         | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+-------+
| id            | int(10)      | YES  |     | NULL    |       |
| course_name   | varchar(50)  | YES  |     | NULL    |       |
| course_length | int(11)      | YES  |     | NULL    |       |
| teacher       | varchar(100) | YES  |     | NULL    |       |
| category      | varchar(50)  | YES  |     | NULL    |       |
+---------------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

mysql> ALTER TABLE course RENAME teacher lecture varchar(200);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘lecture varchar(200)‘ at line 1
mysql> ALTER TABLE course CHANGE COLUMN teacher lecture varchar(200);
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> DESC course;
+---------------+--------------+------+-----+---------+-------+
| Field         | Type         | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+-------+
| id            | int(10)      | YES  |     | NULL    |       |
| course_name   | varchar(50)  | YES  |     | NULL    |       |
| course_length | int(11)      | YES  |     | NULL    |       |
| lecture       | varchar(200) | YES  |     | NULL    |       |
| category      | varchar(50)  | YES  |     | NULL    |       |
+---------------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

mysql> ALTER TABLE course DROP lecture;
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> DESC course;
+---------------+-------------+------+-----+---------+-------+
| Field         | Type        | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+-------+
| id            | int(10)     | YES  |     | NULL    |       |
| course_name   | varchar(50) | YES  |     | NULL    |       |
| course_length | int(11)     | YES  |     | NULL    |       |
| category      | varchar(50) | YES  |     | NULL    |       |
+---------------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

mysql> ALTER TABLE course CHANGE id idid int(12);
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc course;
+---------------+-------------+------+-----+---------+-------+
| Field         | Type        | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+-------+
| idid          | int(12)     | YES  |     | NULL    |       |
| course_name   | varchar(50) | YES  |     | NULL    |       |
| course_length | int(11)     | YES  |     | NULL    |       |
| category      | varchar(50) | YES  |     | NULL    |       |
+---------------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
时间: 2024-10-25 06:17:19

4 SQL语言基础-2的相关文章

Oracle SQL语言基础及环境准备_超越OCP精通Oracle视频教程培训26

Oracle SQL语言基础及环境准备_超越OCP精通Oracle视频教程培训26 本课程介绍: Oracle视频教程,风哥本套oracle教程培训是<<Oracle数据库SQL语言实战培训教程>>的第1/5套:SQL语言之基础入门及环境准备.主要学习Oracle数据库SQL语言基础介绍.PL/SQL语言介绍.数据库SQL对象与数据类型介绍.SQL语言实战环境准备等. Oracle SQL语言之基础及环境准备,课程内容详细如下: Oracle数据库SQL语言基础介绍Oracle数据

SQL语言基础和数据库操作

Sql语言基础: 核心思想:我们自己构造一段查询的代码,然后添加到语句后,从而得到想要的某些数据. Mysql是一种开源数据库 APP Serv:Apache+php+mysql,相当于phpstudy(建议装在本机上,不建议装在虚拟机) 安装(主要):4个主件都要安装,本地网址需要自己命名,例如:www.test.com 然后设置Mysql密码,选择允许通过防火墙. 默认启动Apache和mysql Mysql操作: 打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址; 登

3 SQL语言基础-1

一.SQL (Structured Query Language)结构化查询语言 SQL是一个ANSI标准计算机语言,设计用来访问,操作数据库系统. 几乎所有现今的关系型数据库软件(mysql,Oracle.MS SQL Server.MS Access.DB2.Sybase.informix等等)都使用SQL进行查询,管理及常用操作. 包括一些非关系型数据库也使用SQL. SQL版本: 存在很多不同版本的SQL语言,但是为了与ANSI标准相兼容,它们必须以相似的方式共同地来支持一些的关键词(比

orcale 之 SQL 语言基础

SQL 全称是结构化查询语句(Structure Query Language),是数据库操作的国际化语言,对所有的数据库产品都要支持. SQL 语言的分类 我们按照其功能可以大致分为四类: 数据定义的功能 SQL 的数据定义功能通过数据定义语言(Data Definition Langulage, DDL)实现.一般可以定义数据库的逻辑结构,包括定义表,视图,索引.基本的 DDL 包括三大类:定义,修改和删除,分别对应 CREATE,ALTER 和 DROP 三条语句. 数据查询的功能 SQL

SQL语言基础-基本概念

SQL:IBM的圣约瑟(SanJose),SEQUEL 2(也就是现在的SQL语言) 1979.Oracle首先提出提供了商用的SQL语言 1986.10美国ANSI采用SQL作为关系数据库管理系统的标准语言(ANSI X3.135-1986),后来被ISO采纳为国际标准 目前大部分数据库都遵守ANSI SQL 89标准(99-最高) SQL语言分类: DQL(数据查询语言):SELECT DML(数据操作语言):INSERT UPDATE DELETE TCL(事务控制语言):COMMIT R

3. SQL语言基础

SQL语言: 数据定义语言(DDL,defination,CREAT.ALTER.DROP).数据查询语言(DQL).数据操纵语言(DML,INSERT.DELETE.UPDATE).数据控制语言(DCL) 数据定义: CREATE创建表.视图,索引 创建表: 创建视图: Oracle数据库的视图可以修改,标准SQL不可以.WITH CHECK OPTION:对视图进行UPDATE.DELETE.INSERT操作时,保证更新.删除或插入的行满足视图中定义的谓词条件,机子查询中的条件表达式. 创建

初识MySQL之——SQL语言基础

写在前面 在对数据库的日常管理和应用中,不论管理员合适要访问一个数据库,几乎都要使用到SQL语言,因此,熟练掌握SQL语言以及其脚本程序的编写是非常重要的.SQL(结构化查询语言)是目前最流行的关系型数据库查询语言,也是数据库的标准语言. 数据库语言分类 数据语言按照不同的功用可以分为四大类:数据库定义语言(DDL).数据库操作语言(DML).数据库控制语言(DCL).数据库查询语言(DSL). DDL:数据库定义语言由一组SQL命令组成,用于创建和定义数据库对象.比如可以创建数据库,创建表,修

浅谈PL/SQL语言基础

在前面的学习中,我们大部分接触的都是SQL语言,但是,在实现复杂操作的时候,SQL语言就无能为力了,这时候就需要引入新的语言,PL/SQL语言就是对SQL语言的扩展,可以实现存储过程,函数等的创建.下面是我对PL/SQL语言的总结,和大家分享一下. 一.基本结构 1.PL/SQL是一种块结构的语言,它将一组语句放在一个块中,一次性发送给服务器,当PL/SQL引擎分析收到PL/SQL语句块中的内容,把其中的过程语句由PL/SQL引擎自身去执行,把PL/SQL语句块中的SQL语句交给服务器的SQL语

【SQL语言】SQL语言基础01

1.了解sql 1.1数据库基础 1.1.1数据库(database) :保存有组织的数据的容器(通常是一个文件或一组文件)(也可理解为某种有组织的方式存储的集合) 注:数据库软件称为DBMS(数据库管理系统) 1.1.2表(table) :某种特定类型数据的结构清单(同一个类型且名字唯一) 特性: 定义了数据在表中如何存储,包含存储什么样的数据,和数据如何分解命名等~ 表名:使表名成为唯一的,实际上是数据库名和表名等的组合. 模式:关于数据库和表的布局等特性信息. 1.1.3列(column)

.NET面试题解析(07)-SQL语言基础及数据库基本原理

  系列文章目录地址: .NET面试题解析(00)-开篇来谈谈面试 & 系列文章索引 本文内容涉及到基本SQL语法,数据的基本存储原理,数据库一些概念.数据优化等.抱砖引玉,权当一个综合复习! 常见面试题目: 0. 基本SQL语法题目,在 正文“基础SQL语法”中有13道题,这里就略过了. 1. 索引的作用?她的优点缺点是什么? 2. 介绍存储过程基本概念和 她的优缺点? 3. 使用索引有哪些需要注意的地方? 4. 索引碎片是如何产生的?有什么危害?又该如何处理? 5. 锁的目的是什么? 6.