1.1由“数据库”——》“表”——》“数据”组成
1.2管理数据库需要使用SQL(结构化查询语言)
SQL语言分为:
1 数据查询语言DQL
按照指定的组合、条件表达式或排序检索已存在的数据库中数据,不改变数据库中数据。
命令:SELECT…FROM…WHERE…
2 数据操纵语言DML
对已经存在的数据库进行元组的插入、删除、修改等操作
命令:INSERT、UPDATE、DELETE
3 数据定义语言DDL
创建、修改或删除数据库中各种对象,包括表、视图、索引等。
命令:CREATE TABLE , CREATE VIEW, CREATE INDEX、ALTER TABLE , DROP TABLE , DROP VIEW, DROP INDEX
4 数据控制语言DCL
用来授予或收回访问数据库的某种特权、控制数据操纵事务的发生时间及效果、对数据库进行监视
命令:GRANT、REVOKE、COMMIT、ROLLBACK
通过命令行登录数据库,输入第一个查看数据库的sql语句
mysql> show databases; --默认显示4个数据库
+--------------------+ | Database | +--------------------+ | information_schema | --mysql元数据,基础数据 | mysql | --mysql配置数据库,其中包含用户信息(用户名和密码,权限管理) | performance_schema | --mysql数据库软件的运行数据,日志信息,性能数据 | test | --测试数据库,空数据库 +--------------------+
3.1 sql语句为:create database 数据库名称;
mysql> create database first; --first为数据库名称
Query OK, 1 row affected (0.01 sec)
3.2 创建数据库时设置数据库的字符
mysql> create database two --此时不需输入分号,因为分号意味这语句结束,直接回车
-> default character set utf8; --设置默认字符为utf-8 Query OK, 1 row affected (0.00 sec)
3.3 查看数据库的默认字符集
mysql> show create database first; --first为数据库名称
+----------+---------------------------------------------------------------+ | Database | Create Database | +----------+---------------------------------------------------------------+ | first | CREATE DATABASE `first` /*!40100 DEFAULT CHARACTER SET gbk */ | +----------+---------------------------------------------------------------+ 1 row in set (0.00 sec)
3.4 删除数据库
mysql> drop database two; --two为数据库名称
Query OK, 0 rows affected (0.17 sec)
3.5 修改数据库的默认字符集
mysql> alter database first default character set utf8; --修改first数据库的字符为utf-8
Query OK, 1 row affected (0.00 sec)
4.1选择数据库
mysql> use first; --first为数据库名称 Database changed
4.2创建表
mysql> create table student( --student为表名称 -> sid int, --sid为字段名称 编号,int是字段类型 整形 -> sname varchar(20), --sname为字段名称 姓名,varchar(20)是字段类型 字符串长度是20 -> sage int --sage为字段名称 年龄,int是字段类型,整形 -> ); Query OK, 0 rows affected (0.14 sec)
4.3查看所有表
mysql> show tables;
+-----------------+ | Tables_in_first | +-----------------+ | student | +-----------------+ 1 row in set (0.00 sec)
4.4查看一张表的表结构
mysql> desc student; --student表名称
+-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | sid | int(11) | YES | | NULL | | | sname | varchar(20) | YES | | NULL | | | sage | int(11) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 3 rows in set (0.05 sec)
4.5删除表
mysql> drop table student;
Query OK, 0 rows affected (0.11 sec)
4.6修改表
mysql> alter table student add column sgender varchar(2); --向student表中增加一个sgender的字段,column可以省略
Query OK, 0 rows affected (0.06 sec) Records: 0 Duplicates: 0 Warnings: 0
mysql> alter table student drop sgender; --删除student表中sgender这个字段,column可以省略
Query OK, 0 rows affected (0.06 sec) Records: 0 Duplicates: 0 Warnings: 0
mysql> alter table student modify sname varchar(10); --修改student表中sname字段的类型为varchar(10) Query OK, 0 rows affected (0.08 sec) Records: 0 Duplicates: 0 Warnings: 0
mysql> alter table student change sname newsname varchar(20); --修改student表中sname字段的名称,变为newsname Query OK, 0 rows affected (0.08 sec) Records: 0 Duplicates: 0 Warnings: 0
转载于:https://www.cnblogs.com/zs-log/p/7004045.html
