MySQL数据库基础

一、概述
数据库概念
数据库(Database)

简称DB,按照一定格式存储数据的一些文件的组合,顾名思义就是存储数据的仓库,实际上就是一堆文件。这些文件中存储了具有特定格式的数据 。数据库管理数据有诸多优点,如降低存储数据的冗余度,存储的数据可以共享,便于维护数据完整性,能够实现数据的安全性等。数据库的发展经历了萌芽、初级、中级、和高级阶段。

数据库管理系统(DateBase Management System)

简称DBMS,数据库管理系统是专门用来管理数据库中的数据的,可以对数据库当中的数据进行增、删、改、查 等操作,常见的数据库管理系统:MySql、Oracle、MS SQLServer、DB2、sysbase等…

SQL(Structured Query Language)

结构化查询语言,针对关系型数据库的一种语言;SQL 是一种操作数据库的语言,包括创建数据库、删除数据库、查询记录、修改记录、添加字段等。SQL在MySql中可以使用,同时在Oracle中也可以使用,在DB2中也可以使用 。

数据库的类型
关系型数据库

MariaDB/MySQL

Oracle

DB2

MS SQLServer,只能用于windows系统

国产数据库

达梦

人大金仓

TiDB,分布式关系型数据库

NOSQL数据库

Redis,缓存数据库

MongoDB,文档型数据库

关系型数据库模型
层次模型

网状模型

关系模型

关系模型的相关概念:

实体(Entity) :实体是指现实世界中可以区分的对象,它可以是具体的人、事物或概念,也可以是抽象的物体。在数据库中,实体通常对应于表中的行,而表则实体的一种集合。例如,在一个学生信息管理系统中,学生、课程和教师都可以被视为实体。

属性(Attribute): 属性是实体的特征或性质,它提供了关于实体的具体信息。属性可以是简单的数据类型,如姓名、年龄或地址,也可以是更复杂的结构,如电话号码或电子邮件地址。在数据库中,属性通常对应于表中的列,每列代表实体的一种属性。例如,学生的姓名、学号和年龄都是学生的属性。

联系(Relationship): 联系描述了不同实体之间的关系。在现实世界中,实体之间往往存在各种形式的关联。在数据库中,联系通过关系表来实现,这个表通常包含两个或更多的实体作为表的列。例如,学生选修课程的关系表就包含了学生实体和课程实体的相关信息,描述了哪位学生选修了哪门课程。

在关系模型中,实体和联系通常通过以下三种类型来进一步分类:

  • 一对一(1:1):这种联系表示两个实体之间存在一对一的关系,即每个实体只有一个相关的实体,反之亦然。例如,一个部门与一个负责人之间可能存在一对一的联系。

  • 一对多(1:N):这种联系表示一个实体与多个实体相关,但每个相关实体只与一个实体相关。例如,一个教师可以教授多门课程,但每门课程只能由一个教师教授。

  • 多对多(M:N):这种联系表示两个实体之间存在多对多的关系,即每个实体可以与多个实体相关,同时每个相关实体也可以与多个实体相关。例如,学生可以选修多门课程,同时每门课程也可以被多个选修。

在设计数据库时,正确地识别实体、属性和联系,以及它们之间的类型,对于创建一个结构良好、能够有效存储和检索数据的数据库至关重要。

关系数据库相关概念

  1. 库(Database): 库是一个存储数据的容器,它可以包含多个数据库。在某些管理系统中,库等同于数据库。

  2. 表(Table): 表是数据库中的一个表格,由行和列组成。表是存储数据的主要结构,每个表通常对应一个实体类型。表的列名称为属性,而表的行名称为记录。

  3. 行(Record): 行也称为记录,它是表中的一个单元,代表表中的一个具体实例。每一行包含了一组属性值,这些值共同描述了一个实体的状态。

  4. 列(Column): 列是表中的一列,它代表了表的一个属性。每列都有一个数据类型,用于定义存储在其中的数据的种类和格式。

  5. 字段(Field): 字段通常指的是表中的行与列的交叉点,它存储了单个数据项。在数据库中,每个字段都有其特定的数据类型和用途。

  6. 数据(Data): 数据是存储在数据库中的信息。它可以是文本、数字、日期、图像、声音等各种形式。数据是数据库管理和操作的核心。

二、安装

默认监听端口号:3306/tcp

2、mysql安装

服务端程序:mysql-server;客户端程序:mysql;

[root@mysql ~]# yum install -y  mysqld-server mysql	
##编译安装,需要cmake环境

3、启动并开机自启

[root@mysql ~]# systemctl enable --now mysqld.service 

4、本地连接(本地登录)

[root@mysql ~]# mysql
Welcome to the mysqld monitor.  Commands end with ; or \g.
Your mysqld connection id is 2
Server version: 5.5.68-mysqld mysqld Server

Copyright (c) 2000, 2018, Oracle, mysqld Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysqld [(none)]> 
##[(none)]:表示当前登录用户选择的数据库的“空”,没有在任何库中
##使用“exit”命令可以退出数据库登录

三、mysqld数据库配置与命令

yum安装后生成的目录

[root@mysql mysql]# rpm -ql mysqld-server
/etc/logrotate.d/mysqld
/etc/my.cnf.d/server.cnf
/usr/bin/innochecksum
/usr/bin/myisam_ftdump
/usr/bin/myisamchk
/usr/bin/myisamlog
/usr/bin/myisampack
/usr/bin/mysql_convert_table_format
/usr/bin/mysql_fix_extensions
/usr/bin/mysql_install_db
/usr/bin/mysql_plugin
/usr/bin/mysql_secure_installation
/usr/bin/mysql_setpermission
/usr/bin/mysql_tzinfo_to_sql
/usr/bin/mysql_upgrade
/usr/bin/mysql_zap
/usr/bin/mysqlbug
/usr/bin/mysqld_multi
/usr/bin/mysqld_safe
/usr/bin/mysqld_safe_helper
/usr/bin/mysqldumpslow
/usr/bin/mysqlhotcopy
/usr/bin/mysqltest
/usr/bin/perror
/usr/bin/replace
/usr/bin/resolve_stack_dump
/usr/bin/resolveip
/usr/lib/systemd/system/mysqld.service
/usr/lib/tmpfiles.d/mysqld.conf
/usr/lib64/mysql/INFO_BIN
/usr/lib64/mysql/INFO_SRC
/usr/lib64/mysql/mysqlbug
/usr/lib64/mysql/plugin
/usr/lib64/mysql/plugin/adt_null.so
/usr/lib64/mysql/plugin/auth_0x0100.so
/usr/lib64/mysql/plugin/auth_pam.so
/usr/lib64/mysql/plugin/auth_socket.so
/usr/lib64/mysql/plugin/auth_test_plugin.so
/usr/lib64/mysql/plugin/daemon_example.ini
/usr/lib64/mysql/plugin/dialog_examples.so
/usr/lib64/mysql/plugin/ha_innodb.so
/usr/lib64/mysql/plugin/ha_sphinx.so
/usr/lib64/mysql/plugin/handlersocket.so
/usr/lib64/mysql/plugin/libdaemon_example.so
/usr/lib64/mysql/plugin/mypluglib.so
/usr/lib64/mysql/plugin/qa_auth_client.so
/usr/lib64/mysql/plugin/qa_auth_interface.so
/usr/lib64/mysql/plugin/qa_auth_server.so
/usr/lib64/mysql/plugin/query_cache_info.so
/usr/lib64/mysql/plugin/semisync_master.so
/usr/lib64/mysql/plugin/semisync_slave.so
/usr/lib64/mysql/plugin/server_audit.so
/usr/lib64/mysql/plugin/sphinx.so
/usr/lib64/mysql/plugin/sql_errlog.so
/usr/libexec/mysqld-prepare-db-dir
/usr/libexec/mysqld-wait-ready
/usr/libexec/mysqld
/usr/share/man/man1/innochecksum.1.gz
/usr/share/man/man1/msql2mysql.1.gz
/usr/share/man/man1/myisam_ftdump.1.gz
/usr/share/man/man1/myisamchk.1.gz
/usr/share/man/man1/myisamlog.1.gz
/usr/share/man/man1/myisampack.1.gz
/usr/share/man/man1/mysql.server.1.gz
/usr/share/man/man1/mysql_convert_table_format.1.gz
/usr/share/man/man1/mysql_fix_extensions.1.gz
/usr/share/man/man1/mysql_install_db.1.gz
/usr/share/man/man1/mysql_plugin.1.gz
/usr/share/man/man1/mysql_secure_installation.1.gz
/usr/share/man/man1/mysql_setpermission.1.gz
/usr/share/man/man1/mysql_tzinfo_to_sql.1.gz
/usr/share/man/man1/mysql_upgrade.1.gz
/usr/share/man/man1/mysql_zap.1.gz
/usr/share/man/man1/mysqlbinlog.1.gz
/usr/share/man/man1/mysqlbug.1.gz
/usr/share/man/man1/mysqlcheck.1.gz
/usr/share/man/man1/mysqld_multi.1.gz
/usr/share/man/man1/mysqld_safe.1.gz
/usr/share/man/man1/mysqldumpslow.1.gz
/usr/share/man/man1/mysqlhotcopy.1.gz
/usr/share/man/man1/mysqlimport.1.gz
/usr/share/man/man1/mysqltest.1.gz
/usr/share/man/man1/perror.1.gz
/usr/share/man/man1/replace.1.gz
/usr/share/man/man1/resolve_stack_dump.1.gz
/usr/share/man/man1/resolveip.1.gz
/usr/share/man/man8/mysqld.8.gz
/usr/share/mysql/README.mysql-cnf
/usr/share/mysql/errmsg-utf8.txt
/usr/share/mysql/fill_help_tables.sql
/usr/share/mysql/my-huge.cnf
/usr/share/mysql/my-innodb-heavy-4G.cnf
/usr/share/mysql/my-large.cnf
/usr/share/mysql/my-medium.cnf
/usr/share/mysql/my-small.cnf
/usr/share/mysql/mysql_performance_tables.sql
/usr/share/mysql/mysql_system_tables.sql
/usr/share/mysql/mysql_system_tables_data.sql
/usr/share/mysql/mysql_test_data_timezone.sql
/var/lib/mysql  ##mysqld数据库的数据存储目录
/var/log/mysqld
/var/log/mysqld/mysqld.log
/var/run/mysqld

mysqld服务器的启动脚本

[root@mysql ~]# cat /usr/lib/systemd/system/mysqld.service

[Unit]
Description=mysqld database server
After=syslog.target
After=network.target

[Service]
Type=simple
User=mysql  ##程序运行用户
Group=mysql

ExecStartPre=/usr/libexec/mysqld-prepare-db-dir %n
# Note: we set --basedir to prevent probes that might trigger SELinux alarms,
# per bug #547485
ExecStart=/usr/bin/mysqld_safe --basedir=/usr
ExecStartPost=/usr/libexec/mysqld-wait-ready $MAINPID
"/usr/lib/systemd/system/mysqld.service" 48L, 1697C                                                                39,1          55%
# http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F

# For example, if you want to increase mysqld's open-files-limit to 10000,
# you need to increase systemd's LimitNOFILE setting, so create a file named
# "/etc/systemd/system/mysqld.service.d/limits.conf" containing:
#       [Service]
#       LimitNOFILE=10000

# Note: /usr/lib/... is recommended in the .include line though /lib/... 
# still works.
# Don't forget to reload systemd daemon after you change unit configuration:
# root> systemctl --system daemon-reload

[Unit]
Description=mysqld database server
After=syslog.target
After=network.target

[Service]
Type=simple
User=mysql
Group=mysql

ExecStartPre=/usr/libexec/mysqld-prepare-db-dir %n
# Note: we set --basedir to prevent probes that might trigger SELinux alarms,
# per bug #547485
ExecStart=/usr/bin/mysqld_safe --basedir=/usr
ExecStartPost=/usr/libexec/mysqld-wait-ready $MAINPID

# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300

# Place temp files in a secure directory, not /tmp
PrivateTmp=true

[Install]
WantedBy=multi-user.target

数据存储目录的权限

[root@mysql mysql]# ls -ld /var/lib/mysql/
drwxr-xr-x 5 mysql mysql 177 1月  31 10:16 /var/lib/mysql/

服务启动时读取的默认配置文件

[root@mysql mysql]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql  ##定义数据存储目录
socket=/var/lib/mysql/mysql.sock  ##定义连接的网络接口文件
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mysqld according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/var/log/mysqld/mysqld.log  ##程序运行的错误日志
pid-file=/var/run/mysqld/mysqld.pid  ##程序运行的PID文件

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

mysqld操作命令

[root@mysql ~]# ls -l /usr/bin/mysql*
-rwxr-xr-x 1 root root 3543584 10月  2 2020 /usr/bin/mysql
-rwxr-xr-x 1 root root  111971 10月  2 2020 /usr/bin/mysqlaccess
-rwxr-xr-x 1 root root 3096720 10月  2 2020 /usr/bin/mysqladmin
-rwxr-xr-x 1 root root 3259880 10月  2 2020 /usr/bin/mysqlbinlog
lrwxrwxrwx 1 root root      26 1月  31 10:15 /usr/bin/mysqlbug -> /etc/alternatives/mysqlbug
-rwxr-xr-x 1 root root 3094016 10月  2 2020 /usr/bin/mysqlcheck
-rwxr-xr-x 1 root root    4215 10月  2 2020 /usr/bin/mysql_convert_table_format
-rwxr-xr-x 1 root root   24116 10月  2 2020 /usr/bin/mysqld_multi
-rwxr-xr-x 1 root root   27105 10月  2 2020 /usr/bin/mysqld_safe
-rwxr-xr-x 1 root root 2887144 10月  2 2020 /usr/bin/mysqld_safe_helper
-rwxr-xr-x 1 root root 3176704 10月  2 2020 /usr/bin/mysqldump
-rwxr-xr-x 1 root root    7876 10月  2 2020 /usr/bin/mysqldumpslow
-rwxr-xr-x 1 root root    3288 10月  2 2020 /usr/bin/mysql_find_rows
-rwxr-xr-x 1 root root    1246 10月  2 2020 /usr/bin/mysql_fix_extensions
-rwxr-xr-x 1 root root   34942 10月  2 2020 /usr/bin/mysqlhotcopy
-rwxr-xr-x 1 root root 3088968 10月  2 2020 /usr/bin/mysqlimport
-rwxr-xr-x 1 root root   16701 10月  2 2020 /usr/bin/mysql_install_db
-rwxr-xr-x 1 root root 2926112 10月  2 2020 /usr/bin/mysql_plugin
-rwxr-xr-x 1 root root   12126 10月  2 2020 /usr/bin/mysql_secure_installation
-rwxr-xr-x 1 root root   17464 10月  2 2020 /usr/bin/mysql_setpermission
-rwxr-xr-x 1 root root 3087504 10月  2 2020 /usr/bin/mysqlshow
-rwxr-xr-x 1 root root 3106896 10月  2 2020 /usr/bin/mysqlslap
-rwxr-xr-x 1 root root 3449016 10月  2 2020 /usr/bin/mysqltest
-rwxr-xr-x 1 root root 2921448 10月  2 2020 /usr/bin/mysql_tzinfo_to_sql
-rwxr-xr-x 1 root root 2998448 10月  2 2020 /usr/bin/mysql_upgrade
-rwxr-xr-x 1 root root 2912968 10月  2 2020 /usr/bin/mysql_waitpid
-rwxr-xr-x 1 root root    3856 10月  2 2020 /usr/bin/mysql_zap

mysql命令
mysql数据库登录的命令行工具,本地登录时且root用户没有密码,输入mysql,等效于”mysql -uroot -hlocalhost -P3306“

语法

 mysql [options] db_name


常用选项

-u:指定登录用户
-p:指定用户密码
-h:指定登录数据库的IP或者域名
-P:指定登录数据库的端口号
-e:能够在终端执行数据库指令

使用案例

[root@mysql ~]# mysql -uroot -hlocalhost -P3306
[root@mysql ~]# mysql -p123.com -e "show databases"   ##直接在外部执行查看数据库的命令
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+

##指定登录的数据库,只能是一个
[root@mysql mysql]# mysql -p123.com mysql   
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the mysqld monitor.  Commands end with ; or \g.
Your mysqld connection id is 14
Server version: 5.5.68-mysqld mysqld Server

Copyright (c) 2000, 2018, Oracle, mysqld Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysqld [mysql]> 

mysqladmin命令
超级管理命令

语法

mysqladmin [options] command [command-arg] [command [command-arg]] ...

设置root用户密码

[root@mysql ~]# mysqladmin -uroot password '123.com'

使用密码登录

[root@mysql ~]# mysql -uroot -p123.com -h127.0.0.1 -P3306

四、默认数据库
information_schema :信息数据库,存储所有的库、表、列的名称,任意可登录数据库的用户都可读;sql注入

表名	                作用
CHARACTER_SETS	        字符集信息表。用于查看和管理MySQL数据库中的字符集信息。
CLIENT_STATISTICS	    客户端统计信息表。用于查看和管理客户端的统计信息,例如连接数、请求次数等。
COLLATIONS	             排序规则信息表。用于查看和管理MySQL数据库中的排序规则信息。
COLLATION_CHARACTER_SET_APPLICABILITY     	字符集和排序规则的适用性表。用于查看和管理字符集和排序规则之间的适用关系。
COLUMNS             	数据表的列信息表。用于查看和管理MySQL数据库中数据表的列信息。
COLUMN_PRIVILEGES	   列级别的权限信息表。用于查看和管理列级别的权限信息,例如用户对各个列的SELECT、INSERT、UPDATE等权限。
ENGINES	                存储引擎信息表。用于查看和管理MySQL数据库中支持的存储引擎信息。
EVENTS               	定时事件信息表。用于查看和管理MySQL数据库中的定时事件信息。
FILES	                文件信息表。用于查看和管理MySQL数据库服务器上文件的信息。
GLOBAL_STATUS	       全局状态信息表。用于查看和管理MySQL数据库服务器的全局状态信息。
GLOBAL_VARIABLES     	全局变量信息表。用于查看和管理MySQL数据库服务器的全局变量信息。
INDEX_STATISTICS     	索引统计信息表。用于查看和管理MySQL数据库中索引的统计信息。
KEY_CACHES	            键缓存表。用于查看和管理MySQL数据库中的键缓存信息。
KEY_COLUMN_USAGE     	键列使用表。用于查看和管理键列的使用情况。
PARAMETERS	            参数表。用于查看和管理MySQL数据库的参数信息,例如连接超时时间、最大连接数等。
PARTITIONS          	分区表。用于查看和管理MySQL数据库中的分区信息。
PLUGINS             	插件表。用于查看和管理MySQL数据库中的插件信息。
PROCESSLIST          	进程列表表。用于查看当前正在运行的MySQL进程,包括连接的客户端和正在执行的查询等。
PROFILING           	性能分析表。用于启用性能分析,记录和分析SQL查询的性能数据。
REFERENTIAL_CONSTRAINTS	 外键约束表。用于查看和管理外键约束的信息,包括外键列和参考列等。
ROUTINES	             存储过程和函数表。用于查看和管理MySQL数据库中的存储过程和函数的信息,包括创建时间、修改时间、函数名等。
SCHEMATA	          架构表。用于查看和管理MySQL数据库中的架构信息,包括架构名、架构下的表名等。
SCHEMA_PRIVILEGES	架构权限表。用于查看和管理架构下的权限信息,包括用户对架构下表的SELECT、INSERT、UPDATE等权限。
SESSION_STATUS	会话状态信息表。用于查看和管理当前会话的状态信息,例如会话的连接时间、查询时间等。
SESSION_VARIABLES	会话变量表。用于查看和管理当前会话的变量信息,例如会话的最大连接数、最大内存使用量等。
STATISTICS       	统计信息表。用于查看和管理MySQL数据库中表的统计信息,包括表的行数、平均行大小等。     
TABLES	             数据表信息表。用于查看和管理MySQL数据库中的数据表信息,包括表名、引擎类型等。
TABLESPACES	        存储空间表。用于查看和管理MySQL数据库中的存储空间信息,包括存储空间名、大小等。
TABLE_CONSTRAINTS	       表约束信息表。用于查看和管理表的约束信息,包括主键约束、外键约束等。
TABLE_PRIVILEGES         	表级别的权限信息表。用于查看和管理表级别的权限信息,例如用户对各个表的SELECT、INSERT、UPDATE等权限。
INNODB_CMPMEM_RESET	InnoDB     内存比较器重置表。此表用于记录 InnoDB 内存比较器(comparison memory)的清除操作。
INNODB_RSEG	InnoDB     重做段表此表用于记录 InnoDB 数据文件的重做段信息。
INNODB_UNDO_LOGS         	InnoDB 撤销日志表。此表用于记录 InnoDB 撤销操作的日志信息。
INNODB_CMPMEM	       InnoDB 内存比较器表。此表用于记录 InnoDB 内存比较器的分配和使用情况。
INNODB_SYS_TABLESTATS	   InnoDB 系统表统计信息表。此表用于记录 InnoDB 系统表的统计信息,如数据量、碎片率等。
INNODB_LOCK_WAITS	   InnoDB 锁等待信息表。此表记录 InnoDB 锁等待的情况,包括等待锁的线程 ID、等待时间等。
INNODB_INDEX_STATS     	InnoDB 索引统计信息表。此表用于记录 InnoDB 索引的统计信息,如索引大小、索引列的数据类型等。
INNODB_CMP           	InnoDB 比较器表。此表用于记录 InnoDB 比较器的分配和使用情况。
INNODB_CHANGED_PAGES  	InnoDB 更改页表。此表用于记录 InnoDB 数据文件中已更改的页的信息。
INNODB_BUFFER_POOL_PAGES	InnoDB 缓冲池页表。此表用于记录 InnoDB 缓冲池中每个页的信息,包括页的类型、页的状态等。
INNODB_TRX	InnoDB 事务表。此表用于记录 InnoDB 事务的信息,如事务 ID、事务状态等。
INNODB_BUFFER_POOL_PAGES_INDEX	InnoDB 缓冲池页索引表。此表用于记录 InnoDB 缓冲池中每个页的索引信息。
INNODB_LOCKS	InnoDB 锁表。此表用于记录 InnoDB 锁的信息,如锁的类型、锁的持有者等。
INNODB_BUFFER_PAGE_LRU	InnoDB 缓冲池页 LRU 表。此表用于记录 InnoDB 缓冲池中每个页的最近最少使用(Least Recently Used,LRU)信息。
INNODB_SYS_TABLES	InnoDB 系统表信息表。此表用于记录 InnoDB 系统表的信息,如表名、表状态等。
INNODB_SYS_FIELDS	InnoDB 系统字段信息表。此表用于记录 InnoDB 系统表中每个字段的信息,如字段名、字段类型等。
INNODB_SYS_COLUMNS	InnoDB 系统列信息表。此表用于记录 InnoDB 系统表中每个列的信息,如列名、列类型、列长度等。
INNODB_SYS_STATS	InnoDB 系统统计信息表。此表用于记录 InnoDB 系统统计信息,如表数量、数据量等。
INNODB_SYS_FOREIGN	InnoDB 系统外键信息表。此表用于记录 InnoDB 系统表中外键的信息,如外键约束条件等。
INNODB_SYS_INDEXES	InnoDB 系统索引信息表。此表用于记录 InnoDB 系统表中索引的信息,如索引名、索引类型等。

五、 SQL语言(背会)
DDL:数据定义语言,对数据库结构操作

        create:创建(用户,库,表)

        alter:改变

        drop:删除

DML:数据操作语言,对数据表的操作

        insert:插入

        update:更新

        delete:删除数据

DCL:数据控制语言,针对用户权限设置

        grant:用户赋权

        revoke:移除用户权限

DQL:数据查询语言,对数据表的操作

        select:查询

六、mysqld数据类型
常用的数据类型有:

整型

浮点型

BIT类型

定点数

日期时间类型

字符串

NULL类型

七、数据库操作命令
库操作命令
查看数据库

show databases;

查看所在数据库

select database();

查看当前登录用户

select user();

查看当前数据库版本

select version();

查看用户权限列表

show privileges[\G];

查看指定用户的权限

show grants for root@localhost\G;

切换数据库

use databaseName[;]

创建数据库

create database databaseName  [character set utf8];

删除数据库

drop database databaseName;

表结构操作命令
查看数据表

show tables;

创建数据表

create table tableName(columnName(列名称) dataType(数据类型), ............);

删除数据表

drop table tableName;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值